@openloaf/openspeech-frontend 0.2.49-beta.5 → 0.2.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ function Sw(a,i){for(var o=0;o<i.length;o++){const l=i[o];if(typeof l!="string"&&!Array.isArray(l)){for(const u in l)if(u!=="default"&&!(u in a)){const d=Object.getOwnPropertyDescriptor(l,u);d&&Object.defineProperty(a,u,d.get?d:{enumerable:!0,get:()=>l[u]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&l(f)}).observe(document,{childList:!0,subtree:!0});function o(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(u){if(u.ep)return;u.ep=!0;const d=o(u);fetch(u.href,d)}})();var WM=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Sg(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Wu={exports:{}},ps={};var D_;function Tw(){if(D_)return ps;D_=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function o(l,u,d){var f=null;if(d!==void 0&&(f=""+d),u.key!==void 0&&(f=""+u.key),"key"in u){d={};for(var h in u)h!=="key"&&(d[h]=u[h])}else d=u;return u=d.ref,{$$typeof:a,type:l,key:f,ref:u!==void 0?u:null,props:d}}return ps.Fragment=i,ps.jsx=o,ps.jsxs=o,ps}var L_;function Aw(){return L_||(L_=1,Wu.exports=Tw()),Wu.exports}var st=Aw(),Ju={exports:{}},oe={};var z_;function xw(){if(z_)return oe;z_=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),_=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function x(T){return T===null||typeof T!="object"?null:(T=b&&T[b]||T["@@iterator"],typeof T=="function"?T:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,V={};function B(T,z,q){this.props=T,this.context=z,this.refs=V,this.updater=q||w}B.prototype.isReactComponent={},B.prototype.setState=function(T,z){if(typeof T!="object"&&typeof T!="function"&&T!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,T,z,"setState")},B.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function P(){}P.prototype=B.prototype;function U(T,z,q){this.props=T,this.context=z,this.refs=V,this.updater=q||w}var H=U.prototype=new P;H.constructor=U,L(H,B.prototype),H.isPureReactComponent=!0;var I=Array.isArray;function se(){}var W={H:null,A:null,T:null,S:null},Z=Object.prototype.hasOwnProperty;function ee(T,z,q){var X=q.ref;return{$$typeof:a,type:T,key:z,ref:X!==void 0?X:null,props:q}}function $(T,z){return ee(T.type,z,T.props)}function de(T){return typeof T=="object"&&T!==null&&T.$$typeof===a}function ye(T){var z={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(q){return z[q]})}var ve=/\/+/g;function be(T,z){return typeof T=="object"&&T!==null&&T.key!=null?ye(""+T.key):z.toString(36)}function je(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(se,se):(T.status="pending",T.then(function(z){T.status==="pending"&&(T.status="fulfilled",T.value=z)},function(z){T.status==="pending"&&(T.status="rejected",T.reason=z)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function R(T,z,q,X,le){var fe=typeof T;(fe==="undefined"||fe==="boolean")&&(T=null);var xe=!1;if(T===null)xe=!0;else switch(fe){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(T.$$typeof){case a:case i:xe=!0;break;case g:return xe=T._init,R(xe(T._payload),z,q,X,le)}}if(xe)return le=le(T),xe=X===""?"."+be(T,0):X,I(le)?(q="",xe!=null&&(q=xe.replace(ve,"$&/")+"/"),R(le,z,q,"",function(Sa){return Sa})):le!=null&&(de(le)&&(le=$(le,q+(le.key==null||T&&T.key===le.key?"":(""+le.key).replace(ve,"$&/")+"/")+xe)),z.push(le)),1;xe=0;var rt=X===""?".":X+":";if(I(T))for(var Pe=0;Pe<T.length;Pe++)X=T[Pe],fe=rt+be(X,Pe),xe+=R(X,z,q,fe,le);else if(Pe=x(T),typeof Pe=="function")for(T=Pe.call(T),Pe=0;!(X=T.next()).done;)X=X.value,fe=rt+be(X,Pe++),xe+=R(X,z,q,fe,le);else if(fe==="object"){if(typeof T.then=="function")return R(je(T),z,q,X,le);throw z=String(T),Error("Objects are not valid as a React child (found: "+(z==="[object Object]"?"object with keys {"+Object.keys(T).join(", ")+"}":z)+"). If you meant to render a collection of children, use an array instead.")}return xe}function K(T,z,q){if(T==null)return T;var X=[],le=0;return R(T,X,"","",function(fe){return z.call(q,fe,le++)}),X}function G(T){if(T._status===-1){var z=T._result;z=z(),z.then(function(q){(T._status===0||T._status===-1)&&(T._status=1,T._result=q)},function(q){(T._status===0||T._status===-1)&&(T._status=2,T._result=q)}),T._status===-1&&(T._status=0,T._result=z)}if(T._status===1)return T._result.default;throw T._result}var ae=typeof reportError=="function"?reportError:function(T){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var z=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof T=="object"&&T!==null&&typeof T.message=="string"?String(T.message):String(T),error:T});if(!window.dispatchEvent(z))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",T);return}console.error(T)},ce={map:K,forEach:function(T,z,q){K(T,function(){z.apply(this,arguments)},q)},count:function(T){var z=0;return K(T,function(){z++}),z},toArray:function(T){return K(T,function(z){return z})||[]},only:function(T){if(!de(T))throw Error("React.Children.only expected to receive a single React element child.");return T}};return oe.Activity=v,oe.Children=ce,oe.Component=B,oe.Fragment=o,oe.Profiler=u,oe.PureComponent=U,oe.StrictMode=l,oe.Suspense=m,oe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=W,oe.__COMPILER_RUNTIME={__proto__:null,c:function(T){return W.H.useMemoCache(T)}},oe.cache=function(T){return function(){return T.apply(null,arguments)}},oe.cacheSignal=function(){return null},oe.cloneElement=function(T,z,q){if(T==null)throw Error("The argument must be a React element, but you passed "+T+".");var X=L({},T.props),le=T.key;if(z!=null)for(fe in z.key!==void 0&&(le=""+z.key),z)!Z.call(z,fe)||fe==="key"||fe==="__self"||fe==="__source"||fe==="ref"&&z.ref===void 0||(X[fe]=z[fe]);var fe=arguments.length-2;if(fe===1)X.children=q;else if(1<fe){for(var xe=Array(fe),rt=0;rt<fe;rt++)xe[rt]=arguments[rt+2];X.children=xe}return ee(T.type,le,X)},oe.createContext=function(T){return T={$$typeof:f,_currentValue:T,_currentValue2:T,_threadCount:0,Provider:null,Consumer:null},T.Provider=T,T.Consumer={$$typeof:d,_context:T},T},oe.createElement=function(T,z,q){var X,le={},fe=null;if(z!=null)for(X in z.key!==void 0&&(fe=""+z.key),z)Z.call(z,X)&&X!=="key"&&X!=="__self"&&X!=="__source"&&(le[X]=z[X]);var xe=arguments.length-2;if(xe===1)le.children=q;else if(1<xe){for(var rt=Array(xe),Pe=0;Pe<xe;Pe++)rt[Pe]=arguments[Pe+2];le.children=rt}if(T&&T.defaultProps)for(X in xe=T.defaultProps,xe)le[X]===void 0&&(le[X]=xe[X]);return ee(T,fe,le)},oe.createRef=function(){return{current:null}},oe.forwardRef=function(T){return{$$typeof:h,render:T}},oe.isValidElement=de,oe.lazy=function(T){return{$$typeof:g,_payload:{_status:-1,_result:T},_init:G}},oe.memo=function(T,z){return{$$typeof:_,type:T,compare:z===void 0?null:z}},oe.startTransition=function(T){var z=W.T,q={};W.T=q;try{var X=T(),le=W.S;le!==null&&le(q,X),typeof X=="object"&&X!==null&&typeof X.then=="function"&&X.then(se,ae)}catch(fe){ae(fe)}finally{z!==null&&q.types!==null&&(z.types=q.types),W.T=z}},oe.unstable_useCacheRefresh=function(){return W.H.useCacheRefresh()},oe.use=function(T){return W.H.use(T)},oe.useActionState=function(T,z,q){return W.H.useActionState(T,z,q)},oe.useCallback=function(T,z){return W.H.useCallback(T,z)},oe.useContext=function(T){return W.H.useContext(T)},oe.useDebugValue=function(){},oe.useDeferredValue=function(T,z){return W.H.useDeferredValue(T,z)},oe.useEffect=function(T,z){return W.H.useEffect(T,z)},oe.useEffectEvent=function(T){return W.H.useEffectEvent(T)},oe.useId=function(){return W.H.useId()},oe.useImperativeHandle=function(T,z,q){return W.H.useImperativeHandle(T,z,q)},oe.useInsertionEffect=function(T,z){return W.H.useInsertionEffect(T,z)},oe.useLayoutEffect=function(T,z){return W.H.useLayoutEffect(T,z)},oe.useMemo=function(T,z){return W.H.useMemo(T,z)},oe.useOptimistic=function(T,z){return W.H.useOptimistic(T,z)},oe.useReducer=function(T,z,q){return W.H.useReducer(T,z,q)},oe.useRef=function(T){return W.H.useRef(T)},oe.useState=function(T){return W.H.useState(T)},oe.useSyncExternalStore=function(T,z,q){return W.H.useSyncExternalStore(T,z,q)},oe.useTransition=function(){return W.H.useTransition()},oe.version="19.2.6",oe}var N_;function Wc(){return N_||(N_=1,Ju.exports=xw()),Ju.exports}var Y=Wc();const ww=Sg(Y),JM=Sw({__proto__:null,default:ww},[Y]);var ec={exports:{}},_s={},tc={exports:{}},nc={};var j_;function Ew(){return j_||(j_=1,(function(a){function i(R,K){var G=R.length;R.push(K);e:for(;0<G;){var ae=G-1>>>1,ce=R[ae];if(0<u(ce,K))R[ae]=K,R[G]=ce,G=ae;else break e}}function o(R){return R.length===0?null:R[0]}function l(R){if(R.length===0)return null;var K=R[0],G=R.pop();if(G!==K){R[0]=G;e:for(var ae=0,ce=R.length,T=ce>>>1;ae<T;){var z=2*(ae+1)-1,q=R[z],X=z+1,le=R[X];if(0>u(q,G))X<ce&&0>u(le,q)?(R[ae]=le,R[X]=G,ae=X):(R[ae]=q,R[z]=G,ae=z);else if(X<ce&&0>u(le,G))R[ae]=le,R[X]=G,ae=X;else break e}}return K}function u(R,K){var G=R.sortIndex-K.sortIndex;return G!==0?G:R.id-K.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;a.unstable_now=function(){return d.now()}}else{var f=Date,h=f.now();a.unstable_now=function(){return f.now()-h}}var m=[],_=[],g=1,v=null,b=3,x=!1,w=!1,L=!1,V=!1,B=typeof setTimeout=="function"?setTimeout:null,P=typeof clearTimeout=="function"?clearTimeout:null,U=typeof setImmediate<"u"?setImmediate:null;function H(R){for(var K=o(_);K!==null;){if(K.callback===null)l(_);else if(K.startTime<=R)l(_),K.sortIndex=K.expirationTime,i(m,K);else break;K=o(_)}}function I(R){if(L=!1,H(R),!w)if(o(m)!==null)w=!0,se||(se=!0,ye());else{var K=o(_);K!==null&&je(I,K.startTime-R)}}var se=!1,W=-1,Z=5,ee=-1;function $(){return V?!0:!(a.unstable_now()-ee<Z)}function de(){if(V=!1,se){var R=a.unstable_now();ee=R;var K=!0;try{e:{w=!1,L&&(L=!1,P(W),W=-1),x=!0;var G=b;try{t:{for(H(R),v=o(m);v!==null&&!(v.expirationTime>R&&$());){var ae=v.callback;if(typeof ae=="function"){v.callback=null,b=v.priorityLevel;var ce=ae(v.expirationTime<=R);if(R=a.unstable_now(),typeof ce=="function"){v.callback=ce,H(R),K=!0;break t}v===o(m)&&l(m),H(R)}else l(m);v=o(m)}if(v!==null)K=!0;else{var T=o(_);T!==null&&je(I,T.startTime-R),K=!1}}break e}finally{v=null,b=G,x=!1}K=void 0}}finally{K?ye():se=!1}}}var ye;if(typeof U=="function")ye=function(){U(de)};else if(typeof MessageChannel<"u"){var ve=new MessageChannel,be=ve.port2;ve.port1.onmessage=de,ye=function(){be.postMessage(null)}}else ye=function(){B(de,0)};function je(R,K){W=B(function(){R(a.unstable_now())},K)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(R){R.callback=null},a.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Z=0<R?Math.floor(1e3/R):5},a.unstable_getCurrentPriorityLevel=function(){return b},a.unstable_next=function(R){switch(b){case 1:case 2:case 3:var K=3;break;default:K=b}var G=b;b=K;try{return R()}finally{b=G}},a.unstable_requestPaint=function(){V=!0},a.unstable_runWithPriority=function(R,K){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var G=b;b=R;try{return K()}finally{b=G}},a.unstable_scheduleCallback=function(R,K,G){var ae=a.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?ae+G:ae):G=ae,R){case 1:var ce=-1;break;case 2:ce=250;break;case 5:ce=1073741823;break;case 4:ce=1e4;break;default:ce=5e3}return ce=G+ce,R={id:g++,callback:K,priorityLevel:R,startTime:G,expirationTime:ce,sortIndex:-1},G>ae?(R.sortIndex=G,i(_,R),o(m)===null&&R===o(_)&&(L?(P(W),W=-1):L=!0,je(I,G-ae))):(R.sortIndex=ce,i(m,R),w||x||(w=!0,se||(se=!0,ye()))),R},a.unstable_shouldYield=$,a.unstable_wrapCallback=function(R){var K=b;return function(){var G=b;b=K;try{return R.apply(this,arguments)}finally{b=G}}}})(nc)),nc}var V_;function Ow(){return V_||(V_=1,tc.exports=Ew()),tc.exports}var ic={exports:{}},lt={};var B_;function Cw(){if(B_)return lt;B_=1;var a=Wc();function i(m){var _="https://react.dev/errors/"+m;if(1<arguments.length){_+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)_+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+m+"; visit "+_+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var l={d:{f:o,r:function(){throw Error(i(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},u=Symbol.for("react.portal");function d(m,_,g){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:u,key:v==null?null:""+v,children:m,containerInfo:_,implementation:g}}var f=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(m,_){if(m==="font")return"";if(typeof _=="string")return _==="use-credentials"?_:""}return lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,lt.createPortal=function(m,_){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!_||_.nodeType!==1&&_.nodeType!==9&&_.nodeType!==11)throw Error(i(299));return d(m,_,null,g)},lt.flushSync=function(m){var _=f.T,g=l.p;try{if(f.T=null,l.p=2,m)return m()}finally{f.T=_,l.p=g,l.d.f()}},lt.preconnect=function(m,_){typeof m=="string"&&(_?(_=_.crossOrigin,_=typeof _=="string"?_==="use-credentials"?_:"":void 0):_=null,l.d.C(m,_))},lt.prefetchDNS=function(m){typeof m=="string"&&l.d.D(m)},lt.preinit=function(m,_){if(typeof m=="string"&&_&&typeof _.as=="string"){var g=_.as,v=h(g,_.crossOrigin),b=typeof _.integrity=="string"?_.integrity:void 0,x=typeof _.fetchPriority=="string"?_.fetchPriority:void 0;g==="style"?l.d.S(m,typeof _.precedence=="string"?_.precedence:void 0,{crossOrigin:v,integrity:b,fetchPriority:x}):g==="script"&&l.d.X(m,{crossOrigin:v,integrity:b,fetchPriority:x,nonce:typeof _.nonce=="string"?_.nonce:void 0})}},lt.preinitModule=function(m,_){if(typeof m=="string")if(typeof _=="object"&&_!==null){if(_.as==null||_.as==="script"){var g=h(_.as,_.crossOrigin);l.d.M(m,{crossOrigin:g,integrity:typeof _.integrity=="string"?_.integrity:void 0,nonce:typeof _.nonce=="string"?_.nonce:void 0})}}else _==null&&l.d.M(m)},lt.preload=function(m,_){if(typeof m=="string"&&typeof _=="object"&&_!==null&&typeof _.as=="string"){var g=_.as,v=h(g,_.crossOrigin);l.d.L(m,g,{crossOrigin:v,integrity:typeof _.integrity=="string"?_.integrity:void 0,nonce:typeof _.nonce=="string"?_.nonce:void 0,type:typeof _.type=="string"?_.type:void 0,fetchPriority:typeof _.fetchPriority=="string"?_.fetchPriority:void 0,referrerPolicy:typeof _.referrerPolicy=="string"?_.referrerPolicy:void 0,imageSrcSet:typeof _.imageSrcSet=="string"?_.imageSrcSet:void 0,imageSizes:typeof _.imageSizes=="string"?_.imageSizes:void 0,media:typeof _.media=="string"?_.media:void 0})}},lt.preloadModule=function(m,_){if(typeof m=="string")if(_){var g=h(_.as,_.crossOrigin);l.d.m(m,{as:typeof _.as=="string"&&_.as!=="script"?_.as:void 0,crossOrigin:g,integrity:typeof _.integrity=="string"?_.integrity:void 0})}else l.d.m(m)},lt.requestFormReset=function(m){l.d.r(m)},lt.unstable_batchedUpdates=function(m,_){return m(_)},lt.useFormState=function(m,_,g){return f.H.useFormState(m,_,g)},lt.useFormStatus=function(){return f.H.useHostTransitionStatus()},lt.version="19.2.6",lt}var U_;function kw(){if(U_)return ic.exports;U_=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),ic.exports=Cw(),ic.exports}var H_;function Rw(){if(H_)return _s;H_=1;var a=Ow(),i=Wc(),o=kw();function l(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function f(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function h(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(d(e)!==e)throw Error(l(188))}function _(e){var t=e.alternate;if(!t){if(t=d(e),t===null)throw Error(l(188));return t!==e?null:e}for(var n=e,s=t;;){var r=n.return;if(r===null)break;var c=r.alternate;if(c===null){if(s=r.return,s!==null){n=s;continue}break}if(r.child===c.child){for(c=r.child;c;){if(c===n)return m(r),e;if(c===s)return m(r),t;c=c.sibling}throw Error(l(188))}if(n.return!==s.return)n=r,s=c;else{for(var p=!1,y=r.child;y;){if(y===n){p=!0,n=r,s=c;break}if(y===s){p=!0,s=r,n=c;break}y=y.sibling}if(!p){for(y=c.child;y;){if(y===n){p=!0,n=c,s=r;break}if(y===s){p=!0,s=c,n=r;break}y=y.sibling}if(!p)throw Error(l(189))}}if(n.alternate!==s)throw Error(l(190))}if(n.tag!==3)throw Error(l(188));return n.stateNode.current===n?e:t}function g(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=g(e),t!==null)return t;e=e.sibling}return null}var v=Object.assign,b=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),L=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),P=Symbol.for("react.consumer"),U=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),Z=Symbol.for("react.lazy"),ee=Symbol.for("react.activity"),$=Symbol.for("react.memo_cache_sentinel"),de=Symbol.iterator;function ye(e){return e===null||typeof e!="object"?null:(e=de&&e[de]||e["@@iterator"],typeof e=="function"?e:null)}var ve=Symbol.for("react.client.reference");function be(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ve?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case L:return"Fragment";case B:return"Profiler";case V:return"StrictMode";case I:return"Suspense";case se:return"SuspenseList";case ee:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case w:return"Portal";case U:return e.displayName||"Context";case P:return(e._context.displayName||"Context")+".Consumer";case H:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case W:return t=e.displayName||null,t!==null?t:be(e.type)||"Memo";case Z:t=e._payload,e=e._init;try{return be(e(t))}catch{}}return null}var je=Array.isArray,R=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G={pending:!1,data:null,method:null,action:null},ae=[],ce=-1;function T(e){return{current:e}}function z(e){0>ce||(e.current=ae[ce],ae[ce]=null,ce--)}function q(e,t){ce++,ae[ce]=e.current,e.current=t}var X=T(null),le=T(null),fe=T(null),xe=T(null);function rt(e,t){switch(q(fe,t),q(le,e),q(X,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?t_(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=t_(t),e=n_(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}z(X),q(X,e)}function Pe(){z(X),z(le),z(fe)}function Sa(e){e.memoizedState!==null&&q(xe,e);var t=X.current,n=n_(t,e.type);t!==n&&(q(le,e),q(X,n))}function Ns(e){le.current===e&&(z(X),z(le)),xe.current===e&&(z(xe),cs._currentValue=G)}var zl,Rd;function Jn(e){if(zl===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);zl=t&&t[1]||"",Rd=-1<n.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+zl+e+Rd}var Nl=!1;function jl(e,t){if(!e||Nl)return"";Nl=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(t){var j=function(){throw Error()};if(Object.defineProperty(j.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(j,[])}catch(M){var k=M}Reflect.construct(e,[],j)}else{try{j.call()}catch(M){k=M}e.call(j.prototype)}}else{try{throw Error()}catch(M){k=M}(j=e())&&typeof j.catch=="function"&&j.catch(function(){})}}catch(M){if(M&&k&&typeof M.stack=="string")return[M.stack,k.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=s.DetermineComponentFrameRoot(),p=c[0],y=c[1];if(p&&y){var S=p.split(`
4
+ `),C=y.split(`
5
+ `);for(r=s=0;s<S.length&&!S[s].includes("DetermineComponentFrameRoot");)s++;for(;r<C.length&&!C[r].includes("DetermineComponentFrameRoot");)r++;if(s===S.length||r===C.length)for(s=S.length-1,r=C.length-1;1<=s&&0<=r&&S[s]!==C[r];)r--;for(;1<=s&&0<=r;s--,r--)if(S[s]!==C[r]){if(s!==1||r!==1)do if(s--,r--,0>r||S[s]!==C[r]){var D=`
6
+ `+S[s].replace(" at new "," at ");return e.displayName&&D.includes("<anonymous>")&&(D=D.replace("<anonymous>",e.displayName)),D}while(1<=s&&0<=r);break}}}finally{Nl=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Jn(n):""}function WT(e,t){switch(e.tag){case 26:case 27:case 5:return Jn(e.type);case 16:return Jn("Lazy");case 13:return e.child!==t&&t!==null?Jn("Suspense Fallback"):Jn("Suspense");case 19:return Jn("SuspenseList");case 0:case 15:return jl(e.type,!1);case 11:return jl(e.type.render,!1);case 1:return jl(e.type,!0);case 31:return Jn("Activity");default:return""}}function Md(e){try{var t="",n=null;do t+=WT(e,n),n=e,e=e.return;while(e);return t}catch(s){return`
7
+ Error generating stack: `+s.message+`
8
+ `+s.stack}}var Vl=Object.prototype.hasOwnProperty,Bl=a.unstable_scheduleCallback,Ul=a.unstable_cancelCallback,JT=a.unstable_shouldYield,eA=a.unstable_requestPaint,vt=a.unstable_now,tA=a.unstable_getCurrentPriorityLevel,Dd=a.unstable_ImmediatePriority,Ld=a.unstable_UserBlockingPriority,js=a.unstable_NormalPriority,nA=a.unstable_LowPriority,zd=a.unstable_IdlePriority,iA=a.log,aA=a.unstable_setDisableYieldValue,Ta=null,bt=null;function An(e){if(typeof iA=="function"&&aA(e),bt&&typeof bt.setStrictMode=="function")try{bt.setStrictMode(Ta,e)}catch{}}var St=Math.clz32?Math.clz32:lA,sA=Math.log,oA=Math.LN2;function lA(e){return e>>>=0,e===0?32:31-(sA(e)/oA|0)|0}var Vs=256,Bs=262144,Us=4194304;function ei(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Hs(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var r=0,c=e.suspendedLanes,p=e.pingedLanes;e=e.warmLanes;var y=s&134217727;return y!==0?(s=y&~c,s!==0?r=ei(s):(p&=y,p!==0?r=ei(p):n||(n=y&~e,n!==0&&(r=ei(n))))):(y=s&~c,y!==0?r=ei(y):p!==0?r=ei(p):n||(n=s&~e,n!==0&&(r=ei(n)))),r===0?0:t!==0&&t!==r&&(t&c)===0&&(c=r&-r,n=t&-t,c>=n||c===32&&(n&4194048)!==0)?t:r}function Aa(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rA(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Nd(){var e=Us;return Us<<=1,(Us&62914560)===0&&(Us=4194304),e}function Hl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function xa(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function uA(e,t,n,s,r,c){var p=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,S=e.expirationTimes,C=e.hiddenUpdates;for(n=p&~n;0<n;){var D=31-St(n),j=1<<D;y[D]=0,S[D]=-1;var k=C[D];if(k!==null)for(C[D]=null,D=0;D<k.length;D++){var M=k[D];M!==null&&(M.lane&=-536870913)}n&=~j}s!==0&&jd(e,s,0),c!==0&&r===0&&e.tag!==0&&(e.suspendedLanes|=c&~(p&~t))}function jd(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var s=31-St(t);e.entangledLanes|=t,e.entanglements[s]=e.entanglements[s]|1073741824|n&261930}function Vd(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var s=31-St(n),r=1<<s;r&t|e[s]&t&&(e[s]|=t),n&=~r}}function Bd(e,t){var n=t&-t;return n=(n&42)!==0?1:Pl(n),(n&(e.suspendedLanes|t))!==0?0:n}function Pl(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Kl(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ud(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:w_(e.type))}function Hd(e,t){var n=K.p;try{return K.p=e,t()}finally{K.p=n}}var xn=Math.random().toString(36).slice(2),Je="__reactFiber$"+xn,ft="__reactProps$"+xn,Ei="__reactContainer$"+xn,ql="__reactEvents$"+xn,cA="__reactListeners$"+xn,dA="__reactHandles$"+xn,Pd="__reactResources$"+xn,wa="__reactMarker$"+xn;function Yl(e){delete e[Je],delete e[ft],delete e[ql],delete e[cA],delete e[dA]}function Oi(e){var t=e[Je];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ei]||n[Je]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=u_(e);e!==null;){if(n=e[Je])return n;e=u_(e)}return t}e=n,n=e.parentNode}return null}function Ci(e){if(e=e[Je]||e[Ei]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ea(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(l(33))}function ki(e){var t=e[Pd];return t||(t=e[Pd]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Ze(e){e[wa]=!0}var Kd=new Set,qd={};function ti(e,t){Ri(e,t),Ri(e+"Capture",t)}function Ri(e,t){for(qd[e]=t,e=0;e<t.length;e++)Kd.add(t[e])}var fA=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Yd={},Gd={};function hA(e){return Vl.call(Gd,e)?!0:Vl.call(Yd,e)?!1:fA.test(e)?Gd[e]=!0:(Yd[e]=!0,!1)}function Ps(e,t,n){if(hA(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var s=t.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Ks(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function an(e,t,n,s){if(s===null)e.removeAttribute(n);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+s)}}function Rt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Id(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function pA(e,t,n){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var r=s.get,c=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(p){n=""+p,c.call(this,p)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return n},setValue:function(p){n=""+p},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Gl(e){if(!e._valueTracker){var t=Id(e)?"checked":"value";e._valueTracker=pA(e,t,""+e[t])}}function $d(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),s="";return e&&(s=Id(e)?e.checked?"true":"false":e.value),e=s,e!==n?(t.setValue(e),!0):!1}function qs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var _A=/[\n"\\]/g;function Mt(e){return e.replace(_A,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Il(e,t,n,s,r,c,p,y){e.name="",p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?e.type=p:e.removeAttribute("type"),t!=null?p==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Rt(t)):e.value!==""+Rt(t)&&(e.value=""+Rt(t)):p!=="submit"&&p!=="reset"||e.removeAttribute("value"),t!=null?$l(e,p,Rt(t)):n!=null?$l(e,p,Rt(n)):s!=null&&e.removeAttribute("value"),r==null&&c!=null&&(e.defaultChecked=!!c),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Rt(y):e.removeAttribute("name")}function Xd(e,t,n,s,r,c,p,y){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||n!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){Gl(e);return}n=n!=null?""+Rt(n):"",t=t!=null?""+Rt(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}s=s??r,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=y?e.checked:!!s,e.defaultChecked=!!s,p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(e.name=p),Gl(e)}function $l(e,t,n){t==="number"&&qs(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Mi(e,t,n,s){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&s&&(e[n].defaultSelected=!0)}else{for(n=""+Rt(n),t=null,r=0;r<e.length;r++){if(e[r].value===n){e[r].selected=!0,s&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function Fd(e,t,n){if(t!=null&&(t=""+Rt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Rt(n):""}function Qd(e,t,n,s){if(t==null){if(s!=null){if(n!=null)throw Error(l(92));if(je(s)){if(1<s.length)throw Error(l(93));s=s[0]}n=s}n==null&&(n=""),t=n}n=Rt(t),e.defaultValue=n,s=e.textContent,s===n&&s!==""&&s!==null&&(e.value=s),Gl(e)}function Di(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mA=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Zd(e,t,n){var s=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?s?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":s?e.setProperty(t,n):typeof n!="number"||n===0||mA.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Wd(e,t,n){if(t!=null&&typeof t!="object")throw Error(l(62));if(e=e.style,n!=null){for(var s in n)!n.hasOwnProperty(s)||t!=null&&t.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var r in t)s=t[r],t.hasOwnProperty(r)&&n[r]!==s&&Zd(e,r,s)}else for(var c in t)t.hasOwnProperty(c)&&Zd(e,c,t[c])}function Xl(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gA=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),yA=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ys(e){return yA.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function sn(){}var Fl=null;function Ql(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Li=null,zi=null;function Jd(e){var t=Ci(e);if(t&&(e=t.stateNode)){var n=e[ft]||null;e:switch(e=t.stateNode,t.type){case"input":if(Il(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Mt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var s=n[t];if(s!==e&&s.form===e.form){var r=s[ft]||null;if(!r)throw Error(l(90));Il(s,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<n.length;t++)s=n[t],s.form===e.form&&$d(s)}break e;case"textarea":Fd(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Mi(e,!!n.multiple,t,!1)}}}var Zl=!1;function ef(e,t,n){if(Zl)return e(t,n);Zl=!0;try{var s=e(t);return s}finally{if(Zl=!1,(Li!==null||zi!==null)&&(Do(),Li&&(t=Li,e=zi,zi=Li=null,Jd(t),e)))for(t=0;t<e.length;t++)Jd(e[t])}}function Oa(e,t){var n=e.stateNode;if(n===null)return null;var s=n[ft]||null;if(s===null)return null;n=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(l(231,t,typeof n));return n}var on=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Wl=!1;if(on)try{var Ca={};Object.defineProperty(Ca,"passive",{get:function(){Wl=!0}}),window.addEventListener("test",Ca,Ca),window.removeEventListener("test",Ca,Ca)}catch{Wl=!1}var wn=null,Jl=null,Gs=null;function tf(){if(Gs)return Gs;var e,t=Jl,n=t.length,s,r="value"in wn?wn.value:wn.textContent,c=r.length;for(e=0;e<n&&t[e]===r[e];e++);var p=n-e;for(s=1;s<=p&&t[n-s]===r[c-s];s++);return Gs=r.slice(e,1<s?1-s:void 0)}function Is(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function $s(){return!0}function nf(){return!1}function ht(e){function t(n,s,r,c,p){this._reactName=n,this._targetInst=r,this.type=s,this.nativeEvent=c,this.target=p,this.currentTarget=null;for(var y in e)e.hasOwnProperty(y)&&(n=e[y],this[y]=n?n(c):c[y]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?$s:nf,this.isPropagationStopped=nf,this}return v(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=$s)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=$s)},persist:function(){},isPersistent:$s}),t}var ni={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Xs=ht(ni),ka=v({},ni,{view:0,detail:0}),vA=ht(ka),er,tr,Ra,Fs=v({},ka,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ir,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ra&&(Ra&&e.type==="mousemove"?(er=e.screenX-Ra.screenX,tr=e.screenY-Ra.screenY):tr=er=0,Ra=e),er)},movementY:function(e){return"movementY"in e?e.movementY:tr}}),af=ht(Fs),bA=v({},Fs,{dataTransfer:0}),SA=ht(bA),TA=v({},ka,{relatedTarget:0}),nr=ht(TA),AA=v({},ni,{animationName:0,elapsedTime:0,pseudoElement:0}),xA=ht(AA),wA=v({},ni,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),EA=ht(wA),OA=v({},ni,{data:0}),sf=ht(OA),CA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},kA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},RA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function MA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=RA[e])?!!t[e]:!1}function ir(){return MA}var DA=v({},ka,{key:function(e){if(e.key){var t=CA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Is(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?kA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ir,charCode:function(e){return e.type==="keypress"?Is(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Is(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),LA=ht(DA),zA=v({},Fs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),of=ht(zA),NA=v({},ka,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ir}),jA=ht(NA),VA=v({},ni,{propertyName:0,elapsedTime:0,pseudoElement:0}),BA=ht(VA),UA=v({},Fs,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),HA=ht(UA),PA=v({},ni,{newState:0,oldState:0}),KA=ht(PA),qA=[9,13,27,32],ar=on&&"CompositionEvent"in window,Ma=null;on&&"documentMode"in document&&(Ma=document.documentMode);var YA=on&&"TextEvent"in window&&!Ma,lf=on&&(!ar||Ma&&8<Ma&&11>=Ma),rf=" ",uf=!1;function cf(e,t){switch(e){case"keyup":return qA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function df(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ni=!1;function GA(e,t){switch(e){case"compositionend":return df(t);case"keypress":return t.which!==32?null:(uf=!0,rf);case"textInput":return e=t.data,e===rf&&uf?null:e;default:return null}}function IA(e,t){if(Ni)return e==="compositionend"||!ar&&cf(e,t)?(e=tf(),Gs=Jl=wn=null,Ni=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return lf&&t.locale!=="ko"?null:t.data;default:return null}}var $A={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ff(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!$A[e.type]:t==="textarea"}function hf(e,t,n,s){Li?zi?zi.push(s):zi=[s]:Li=s,t=Uo(t,"onChange"),0<t.length&&(n=new Xs("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Da=null,La=null;function XA(e){Fp(e,0)}function Qs(e){var t=Ea(e);if($d(t))return e}function pf(e,t){if(e==="change")return t}var _f=!1;if(on){var sr;if(on){var or="oninput"in document;if(!or){var mf=document.createElement("div");mf.setAttribute("oninput","return;"),or=typeof mf.oninput=="function"}sr=or}else sr=!1;_f=sr&&(!document.documentMode||9<document.documentMode)}function gf(){Da&&(Da.detachEvent("onpropertychange",yf),La=Da=null)}function yf(e){if(e.propertyName==="value"&&Qs(La)){var t=[];hf(t,La,e,Ql(e)),ef(XA,t)}}function FA(e,t,n){e==="focusin"?(gf(),Da=t,La=n,Da.attachEvent("onpropertychange",yf)):e==="focusout"&&gf()}function QA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Qs(La)}function ZA(e,t){if(e==="click")return Qs(t)}function WA(e,t){if(e==="input"||e==="change")return Qs(t)}function JA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Tt=typeof Object.is=="function"?Object.is:JA;function za(e,t){if(Tt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(s=0;s<n.length;s++){var r=n[s];if(!Vl.call(t,r)||!Tt(e[r],t[r]))return!1}return!0}function vf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function bf(e,t){var n=vf(e);e=0;for(var s;n;){if(n.nodeType===3){if(s=e+n.textContent.length,e<=t&&s>=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=vf(n)}}function Sf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Sf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=qs(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=qs(e.document)}return t}function lr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ex=on&&"documentMode"in document&&11>=document.documentMode,ji=null,rr=null,Na=null,ur=!1;function Af(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ur||ji==null||ji!==qs(s)||(s=ji,"selectionStart"in s&&lr(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Na&&za(Na,s)||(Na=s,s=Uo(rr,"onSelect"),0<s.length&&(t=new Xs("onSelect","select",null,t,n),e.push({event:t,listeners:s}),t.target=ji)))}function ii(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Vi={animationend:ii("Animation","AnimationEnd"),animationiteration:ii("Animation","AnimationIteration"),animationstart:ii("Animation","AnimationStart"),transitionrun:ii("Transition","TransitionRun"),transitionstart:ii("Transition","TransitionStart"),transitioncancel:ii("Transition","TransitionCancel"),transitionend:ii("Transition","TransitionEnd")},cr={},xf={};on&&(xf=document.createElement("div").style,"AnimationEvent"in window||(delete Vi.animationend.animation,delete Vi.animationiteration.animation,delete Vi.animationstart.animation),"TransitionEvent"in window||delete Vi.transitionend.transition);function ai(e){if(cr[e])return cr[e];if(!Vi[e])return e;var t=Vi[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in xf)return cr[e]=t[n];return e}var wf=ai("animationend"),Ef=ai("animationiteration"),Of=ai("animationstart"),tx=ai("transitionrun"),nx=ai("transitionstart"),ix=ai("transitioncancel"),Cf=ai("transitionend"),kf=new Map,dr="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");dr.push("scrollEnd");function Kt(e,t){kf.set(e,t),ti(t,[e])}var Zs=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Dt=[],Bi=0,fr=0;function Ws(){for(var e=Bi,t=fr=Bi=0;t<e;){var n=Dt[t];Dt[t++]=null;var s=Dt[t];Dt[t++]=null;var r=Dt[t];Dt[t++]=null;var c=Dt[t];if(Dt[t++]=null,s!==null&&r!==null){var p=s.pending;p===null?r.next=r:(r.next=p.next,p.next=r),s.pending=r}c!==0&&Rf(n,r,c)}}function Js(e,t,n,s){Dt[Bi++]=e,Dt[Bi++]=t,Dt[Bi++]=n,Dt[Bi++]=s,fr|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function hr(e,t,n,s){return Js(e,t,n,s),eo(e)}function si(e,t){return Js(e,null,null,t),eo(e)}function Rf(e,t,n){e.lanes|=n;var s=e.alternate;s!==null&&(s.lanes|=n);for(var r=!1,c=e.return;c!==null;)c.childLanes|=n,s=c.alternate,s!==null&&(s.childLanes|=n),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(r=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,r&&t!==null&&(r=31-St(n),e=c.hiddenUpdates,s=e[r],s===null?e[r]=[t]:s.push(t),t.lane=n|536870912),c):null}function eo(e){if(50<is)throw is=0,Tu=null,Error(l(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ui={};function ax(e,t,n,s){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function At(e,t,n,s){return new ax(e,t,n,s)}function pr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ln(e,t){var n=e.alternate;return n===null?(n=At(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Mf(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function to(e,t,n,s,r,c){var p=0;if(s=e,typeof e=="function")pr(e)&&(p=1);else if(typeof e=="string")p=uw(e,n,X.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case ee:return e=At(31,n,t,r),e.elementType=ee,e.lanes=c,e;case L:return oi(n.children,r,c,t);case V:p=8,r|=24;break;case B:return e=At(12,n,t,r|2),e.elementType=B,e.lanes=c,e;case I:return e=At(13,n,t,r),e.elementType=I,e.lanes=c,e;case se:return e=At(19,n,t,r),e.elementType=se,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case U:p=10;break e;case P:p=9;break e;case H:p=11;break e;case W:p=14;break e;case Z:p=16,s=null;break e}p=29,n=Error(l(130,e===null?"null":typeof e,"")),s=null}return t=At(p,n,t,r),t.elementType=e,t.type=s,t.lanes=c,t}function oi(e,t,n,s){return e=At(7,e,s,t),e.lanes=n,e}function _r(e,t,n){return e=At(6,e,null,t),e.lanes=n,e}function Df(e){var t=At(18,null,null,0);return t.stateNode=e,t}function mr(e,t,n){return t=At(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Lf=new WeakMap;function Lt(e,t){if(typeof e=="object"&&e!==null){var n=Lf.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Md(t)},Lf.set(e,t),t)}return{value:e,source:t,stack:Md(t)}}var Hi=[],Pi=0,no=null,ja=0,zt=[],Nt=0,En=null,Xt=1,Ft="";function rn(e,t){Hi[Pi++]=ja,Hi[Pi++]=no,no=e,ja=t}function zf(e,t,n){zt[Nt++]=Xt,zt[Nt++]=Ft,zt[Nt++]=En,En=e;var s=Xt;e=Ft;var r=32-St(s)-1;s&=~(1<<r),n+=1;var c=32-St(t)+r;if(30<c){var p=r-r%5;c=(s&(1<<p)-1).toString(32),s>>=p,r-=p,Xt=1<<32-St(t)+r|n<<r|s,Ft=c+e}else Xt=1<<c|n<<r|s,Ft=e}function gr(e){e.return!==null&&(rn(e,1),zf(e,1,0))}function yr(e){for(;e===no;)no=Hi[--Pi],Hi[Pi]=null,ja=Hi[--Pi],Hi[Pi]=null;for(;e===En;)En=zt[--Nt],zt[Nt]=null,Ft=zt[--Nt],zt[Nt]=null,Xt=zt[--Nt],zt[Nt]=null}function Nf(e,t){zt[Nt++]=Xt,zt[Nt++]=Ft,zt[Nt++]=En,Xt=t.id,Ft=t.overflow,En=e}var et=null,Le=null,ge=!1,On=null,jt=!1,vr=Error(l(519));function Cn(e){var t=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Va(Lt(t,e)),vr}function jf(e){var t=e.stateNode,n=e.type,s=e.memoizedProps;switch(t[Je]=e,t[ft]=s,n){case"dialog":pe("cancel",t),pe("close",t);break;case"iframe":case"object":case"embed":pe("load",t);break;case"video":case"audio":for(n=0;n<ss.length;n++)pe(ss[n],t);break;case"source":pe("error",t);break;case"img":case"image":case"link":pe("error",t),pe("load",t);break;case"details":pe("toggle",t);break;case"input":pe("invalid",t),Xd(t,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":pe("invalid",t);break;case"textarea":pe("invalid",t),Qd(t,s.value,s.defaultValue,s.children)}n=s.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||s.suppressHydrationWarning===!0||Jp(t.textContent,n)?(s.popover!=null&&(pe("beforetoggle",t),pe("toggle",t)),s.onScroll!=null&&pe("scroll",t),s.onScrollEnd!=null&&pe("scrollend",t),s.onClick!=null&&(t.onclick=sn),t=!0):t=!1,t||Cn(e,!0)}function Vf(e){for(et=e.return;et;)switch(et.tag){case 5:case 31:case 13:jt=!1;return;case 27:case 3:jt=!0;return;default:et=et.return}}function Ki(e){if(e!==et)return!1;if(!ge)return Vf(e),ge=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Vu(e.type,e.memoizedProps)),n=!n),n&&Le&&Cn(e),Vf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Le=r_(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Le=r_(e)}else t===27?(t=Le,Kn(e.type)?(e=Ku,Ku=null,Le=e):Le=t):Le=et?Bt(e.stateNode.nextSibling):null;return!0}function li(){Le=et=null,ge=!1}function br(){var e=On;return e!==null&&(gt===null?gt=e:gt.push.apply(gt,e),On=null),e}function Va(e){On===null?On=[e]:On.push(e)}var Sr=T(null),ri=null,un=null;function kn(e,t,n){q(Sr,t._currentValue),t._currentValue=n}function cn(e){e._currentValue=Sr.current,z(Sr)}function Tr(e,t,n){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===n)break;e=e.return}}function Ar(e,t,n,s){var r=e.child;for(r!==null&&(r.return=e);r!==null;){var c=r.dependencies;if(c!==null){var p=r.child;c=c.firstContext;e:for(;c!==null;){var y=c;c=r;for(var S=0;S<t.length;S++)if(y.context===t[S]){c.lanes|=n,y=c.alternate,y!==null&&(y.lanes|=n),Tr(c.return,n,e),s||(p=null);break e}c=y.next}}else if(r.tag===18){if(p=r.return,p===null)throw Error(l(341));p.lanes|=n,c=p.alternate,c!==null&&(c.lanes|=n),Tr(p,n,e),p=null}else p=r.child;if(p!==null)p.return=r;else for(p=r;p!==null;){if(p===e){p=null;break}if(r=p.sibling,r!==null){r.return=p.return,p=r;break}p=p.return}r=p}}function qi(e,t,n,s){e=null;for(var r=t,c=!1;r!==null;){if(!c){if((r.flags&524288)!==0)c=!0;else if((r.flags&262144)!==0)break}if(r.tag===10){var p=r.alternate;if(p===null)throw Error(l(387));if(p=p.memoizedProps,p!==null){var y=r.type;Tt(r.pendingProps.value,p.value)||(e!==null?e.push(y):e=[y])}}else if(r===xe.current){if(p=r.alternate,p===null)throw Error(l(387));p.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(e!==null?e.push(cs):e=[cs])}r=r.return}e!==null&&Ar(t,e,n,s),t.flags|=262144}function io(e){for(e=e.firstContext;e!==null;){if(!Tt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ui(e){ri=e,un=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function tt(e){return Bf(ri,e)}function ao(e,t){return ri===null&&ui(e),Bf(e,t)}function Bf(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},un===null){if(e===null)throw Error(l(308));un=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else un=un.next=t;return n}var sx=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,s){e.push(s)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},ox=a.unstable_scheduleCallback,lx=a.unstable_NormalPriority,Ye={$$typeof:U,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function xr(){return{controller:new sx,data:new Map,refCount:0}}function Ba(e){e.refCount--,e.refCount===0&&ox(lx,function(){e.controller.abort()})}var Ua=null,wr=0,Yi=0,Gi=null;function rx(e,t){if(Ua===null){var n=Ua=[];wr=0,Yi=Cu(),Gi={status:"pending",value:void 0,then:function(s){n.push(s)}}}return wr++,t.then(Uf,Uf),t}function Uf(){if(--wr===0&&Ua!==null){Gi!==null&&(Gi.status="fulfilled");var e=Ua;Ua=null,Yi=0,Gi=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ux(e,t){var n=[],s={status:"pending",value:null,reason:null,then:function(r){n.push(r)}};return e.then(function(){s.status="fulfilled",s.value=t;for(var r=0;r<n.length;r++)(0,n[r])(t)},function(r){for(s.status="rejected",s.reason=r,r=0;r<n.length;r++)(0,n[r])(void 0)}),s}var Hf=R.S;R.S=function(e,t){Ap=vt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&rx(e,t),Hf!==null&&Hf(e,t)};var ci=T(null);function Er(){var e=ci.current;return e!==null?e:Me.pooledCache}function so(e,t){t===null?q(ci,ci.current):q(ci,t.pool)}function Pf(){var e=Er();return e===null?null:{parent:Ye._currentValue,pool:e}}var Ii=Error(l(460)),Or=Error(l(474)),oo=Error(l(542)),lo={then:function(){}};function Kf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function qf(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(sn,sn),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Gf(e),e;default:if(typeof t.status=="string")t.then(sn,sn);else{if(e=Me,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=t,e.status="pending",e.then(function(s){if(t.status==="pending"){var r=t;r.status="fulfilled",r.value=s}},function(s){if(t.status==="pending"){var r=t;r.status="rejected",r.reason=s}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Gf(e),e}throw fi=t,Ii}}function di(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(fi=n,Ii):n}}var fi=null;function Yf(){if(fi===null)throw Error(l(459));var e=fi;return fi=null,e}function Gf(e){if(e===Ii||e===oo)throw Error(l(483))}var $i=null,Ha=0;function ro(e){var t=Ha;return Ha+=1,$i===null&&($i=[]),qf($i,e,t)}function Pa(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function uo(e,t){throw t.$$typeof===b?Error(l(525)):(e=Object.prototype.toString.call(t),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function If(e){function t(E,A){if(e){var O=E.deletions;O===null?(E.deletions=[A],E.flags|=16):O.push(A)}}function n(E,A){if(!e)return null;for(;A!==null;)t(E,A),A=A.sibling;return null}function s(E){for(var A=new Map;E!==null;)E.key!==null?A.set(E.key,E):A.set(E.index,E),E=E.sibling;return A}function r(E,A){return E=ln(E,A),E.index=0,E.sibling=null,E}function c(E,A,O){return E.index=O,e?(O=E.alternate,O!==null?(O=O.index,O<A?(E.flags|=67108866,A):O):(E.flags|=67108866,A)):(E.flags|=1048576,A)}function p(E){return e&&E.alternate===null&&(E.flags|=67108866),E}function y(E,A,O,N){return A===null||A.tag!==6?(A=_r(O,E.mode,N),A.return=E,A):(A=r(A,O),A.return=E,A)}function S(E,A,O,N){var te=O.type;return te===L?D(E,A,O.props.children,N,O.key):A!==null&&(A.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===Z&&di(te)===A.type)?(A=r(A,O.props),Pa(A,O),A.return=E,A):(A=to(O.type,O.key,O.props,null,E.mode,N),Pa(A,O),A.return=E,A)}function C(E,A,O,N){return A===null||A.tag!==4||A.stateNode.containerInfo!==O.containerInfo||A.stateNode.implementation!==O.implementation?(A=mr(O,E.mode,N),A.return=E,A):(A=r(A,O.children||[]),A.return=E,A)}function D(E,A,O,N,te){return A===null||A.tag!==7?(A=oi(O,E.mode,N,te),A.return=E,A):(A=r(A,O),A.return=E,A)}function j(E,A,O){if(typeof A=="string"&&A!==""||typeof A=="number"||typeof A=="bigint")return A=_r(""+A,E.mode,O),A.return=E,A;if(typeof A=="object"&&A!==null){switch(A.$$typeof){case x:return O=to(A.type,A.key,A.props,null,E.mode,O),Pa(O,A),O.return=E,O;case w:return A=mr(A,E.mode,O),A.return=E,A;case Z:return A=di(A),j(E,A,O)}if(je(A)||ye(A))return A=oi(A,E.mode,O,null),A.return=E,A;if(typeof A.then=="function")return j(E,ro(A),O);if(A.$$typeof===U)return j(E,ao(E,A),O);uo(E,A)}return null}function k(E,A,O,N){var te=A!==null?A.key:null;if(typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint")return te!==null?null:y(E,A,""+O,N);if(typeof O=="object"&&O!==null){switch(O.$$typeof){case x:return O.key===te?S(E,A,O,N):null;case w:return O.key===te?C(E,A,O,N):null;case Z:return O=di(O),k(E,A,O,N)}if(je(O)||ye(O))return te!==null?null:D(E,A,O,N,null);if(typeof O.then=="function")return k(E,A,ro(O),N);if(O.$$typeof===U)return k(E,A,ao(E,O),N);uo(E,O)}return null}function M(E,A,O,N,te){if(typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint")return E=E.get(O)||null,y(A,E,""+N,te);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case x:return E=E.get(N.key===null?O:N.key)||null,S(A,E,N,te);case w:return E=E.get(N.key===null?O:N.key)||null,C(A,E,N,te);case Z:return N=di(N),M(E,A,O,N,te)}if(je(N)||ye(N))return E=E.get(O)||null,D(A,E,N,te,null);if(typeof N.then=="function")return M(E,A,O,ro(N),te);if(N.$$typeof===U)return M(E,A,O,ao(A,N),te);uo(A,N)}return null}function F(E,A,O,N){for(var te=null,Se=null,J=A,ue=A=0,me=null;J!==null&&ue<O.length;ue++){J.index>ue?(me=J,J=null):me=J.sibling;var Te=k(E,J,O[ue],N);if(Te===null){J===null&&(J=me);break}e&&J&&Te.alternate===null&&t(E,J),A=c(Te,A,ue),Se===null?te=Te:Se.sibling=Te,Se=Te,J=me}if(ue===O.length)return n(E,J),ge&&rn(E,ue),te;if(J===null){for(;ue<O.length;ue++)J=j(E,O[ue],N),J!==null&&(A=c(J,A,ue),Se===null?te=J:Se.sibling=J,Se=J);return ge&&rn(E,ue),te}for(J=s(J);ue<O.length;ue++)me=M(J,E,ue,O[ue],N),me!==null&&(e&&me.alternate!==null&&J.delete(me.key===null?ue:me.key),A=c(me,A,ue),Se===null?te=me:Se.sibling=me,Se=me);return e&&J.forEach(function($n){return t(E,$n)}),ge&&rn(E,ue),te}function ne(E,A,O,N){if(O==null)throw Error(l(151));for(var te=null,Se=null,J=A,ue=A=0,me=null,Te=O.next();J!==null&&!Te.done;ue++,Te=O.next()){J.index>ue?(me=J,J=null):me=J.sibling;var $n=k(E,J,Te.value,N);if($n===null){J===null&&(J=me);break}e&&J&&$n.alternate===null&&t(E,J),A=c($n,A,ue),Se===null?te=$n:Se.sibling=$n,Se=$n,J=me}if(Te.done)return n(E,J),ge&&rn(E,ue),te;if(J===null){for(;!Te.done;ue++,Te=O.next())Te=j(E,Te.value,N),Te!==null&&(A=c(Te,A,ue),Se===null?te=Te:Se.sibling=Te,Se=Te);return ge&&rn(E,ue),te}for(J=s(J);!Te.done;ue++,Te=O.next())Te=M(J,E,ue,Te.value,N),Te!==null&&(e&&Te.alternate!==null&&J.delete(Te.key===null?ue:Te.key),A=c(Te,A,ue),Se===null?te=Te:Se.sibling=Te,Se=Te);return e&&J.forEach(function(bw){return t(E,bw)}),ge&&rn(E,ue),te}function Re(E,A,O,N){if(typeof O=="object"&&O!==null&&O.type===L&&O.key===null&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case x:e:{for(var te=O.key;A!==null;){if(A.key===te){if(te=O.type,te===L){if(A.tag===7){n(E,A.sibling),N=r(A,O.props.children),N.return=E,E=N;break e}}else if(A.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===Z&&di(te)===A.type){n(E,A.sibling),N=r(A,O.props),Pa(N,O),N.return=E,E=N;break e}n(E,A);break}else t(E,A);A=A.sibling}O.type===L?(N=oi(O.props.children,E.mode,N,O.key),N.return=E,E=N):(N=to(O.type,O.key,O.props,null,E.mode,N),Pa(N,O),N.return=E,E=N)}return p(E);case w:e:{for(te=O.key;A!==null;){if(A.key===te)if(A.tag===4&&A.stateNode.containerInfo===O.containerInfo&&A.stateNode.implementation===O.implementation){n(E,A.sibling),N=r(A,O.children||[]),N.return=E,E=N;break e}else{n(E,A);break}else t(E,A);A=A.sibling}N=mr(O,E.mode,N),N.return=E,E=N}return p(E);case Z:return O=di(O),Re(E,A,O,N)}if(je(O))return F(E,A,O,N);if(ye(O)){if(te=ye(O),typeof te!="function")throw Error(l(150));return O=te.call(O),ne(E,A,O,N)}if(typeof O.then=="function")return Re(E,A,ro(O),N);if(O.$$typeof===U)return Re(E,A,ao(E,O),N);uo(E,O)}return typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint"?(O=""+O,A!==null&&A.tag===6?(n(E,A.sibling),N=r(A,O),N.return=E,E=N):(n(E,A),N=_r(O,E.mode,N),N.return=E,E=N),p(E)):n(E,A)}return function(E,A,O,N){try{Ha=0;var te=Re(E,A,O,N);return $i=null,te}catch(J){if(J===Ii||J===oo)throw J;var Se=At(29,J,null,E.mode);return Se.lanes=N,Se.return=E,Se}}}var hi=If(!0),$f=If(!1),Rn=!1;function Cr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Mn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Dn(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Ae&2)!==0){var r=s.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),s.pending=t,t=eo(e),Rf(e,null,n),t}return Js(e,s,t,n),eo(e)}function Ka(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Vd(e,n)}}function Rr(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var r=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var p={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?r=c=p:c=c.next=p,n=n.next}while(n!==null);c===null?r=c=t:c=c.next=t}else r=c=t;n={baseState:s.baseState,firstBaseUpdate:r,lastBaseUpdate:c,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Mr=!1;function qa(){if(Mr){var e=Gi;if(e!==null)throw e}}function Ya(e,t,n,s){Mr=!1;var r=e.updateQueue;Rn=!1;var c=r.firstBaseUpdate,p=r.lastBaseUpdate,y=r.shared.pending;if(y!==null){r.shared.pending=null;var S=y,C=S.next;S.next=null,p===null?c=C:p.next=C,p=S;var D=e.alternate;D!==null&&(D=D.updateQueue,y=D.lastBaseUpdate,y!==p&&(y===null?D.firstBaseUpdate=C:y.next=C,D.lastBaseUpdate=S))}if(c!==null){var j=r.baseState;p=0,D=C=S=null,y=c;do{var k=y.lane&-536870913,M=k!==y.lane;if(M?(_e&k)===k:(s&k)===k){k!==0&&k===Yi&&(Mr=!0),D!==null&&(D=D.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var F=e,ne=y;k=t;var Re=n;switch(ne.tag){case 1:if(F=ne.payload,typeof F=="function"){j=F.call(Re,j,k);break e}j=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=ne.payload,k=typeof F=="function"?F.call(Re,j,k):F,k==null)break e;j=v({},j,k);break e;case 2:Rn=!0}}k=y.callback,k!==null&&(e.flags|=64,M&&(e.flags|=8192),M=r.callbacks,M===null?r.callbacks=[k]:M.push(k))}else M={lane:k,tag:y.tag,payload:y.payload,callback:y.callback,next:null},D===null?(C=D=M,S=j):D=D.next=M,p|=k;if(y=y.next,y===null){if(y=r.shared.pending,y===null)break;M=y,y=M.next,M.next=null,r.lastBaseUpdate=M,r.shared.pending=null}}while(!0);D===null&&(S=j),r.baseState=S,r.firstBaseUpdate=C,r.lastBaseUpdate=D,c===null&&(r.shared.lanes=0),Vn|=p,e.lanes=p,e.memoizedState=j}}function Xf(e,t){if(typeof e!="function")throw Error(l(191,e));e.call(t)}function Ff(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Xf(n[e],t)}var Xi=T(null),co=T(0);function Qf(e,t){e=vn,q(co,e),q(Xi,t),vn=e|t.baseLanes}function Dr(){q(co,vn),q(Xi,Xi.current)}function Lr(){vn=co.current,z(Xi),z(co)}var xt=T(null),Vt=null;function Ln(e){var t=e.alternate;q(Ke,Ke.current&1),q(xt,e),Vt===null&&(t===null||Xi.current!==null||t.memoizedState!==null)&&(Vt=e)}function zr(e){q(Ke,Ke.current),q(xt,e),Vt===null&&(Vt=e)}function Zf(e){e.tag===22?(q(Ke,Ke.current),q(xt,e),Vt===null&&(Vt=e)):zn()}function zn(){q(Ke,Ke.current),q(xt,xt.current)}function wt(e){z(xt),Vt===e&&(Vt=null),z(Ke)}var Ke=T(0);function fo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Hu(n)||Pu(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var dn=0,re=null,Ce=null,Ge=null,ho=!1,Fi=!1,pi=!1,po=0,Ga=0,Qi=null,cx=0;function Be(){throw Error(l(321))}function Nr(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Tt(e[n],t[n]))return!1;return!0}function jr(e,t,n,s,r,c){return dn=c,re=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,R.H=e===null||e.memoizedState===null?zh:Zr,pi=!1,c=n(s,r),pi=!1,Fi&&(c=Jf(t,n,s,r)),Wf(e),c}function Wf(e){R.H=Xa;var t=Ce!==null&&Ce.next!==null;if(dn=0,Ge=Ce=re=null,ho=!1,Ga=0,Qi=null,t)throw Error(l(300));e===null||Ie||(e=e.dependencies,e!==null&&io(e)&&(Ie=!0))}function Jf(e,t,n,s){re=e;var r=0;do{if(Fi&&(Qi=null),Ga=0,Fi=!1,25<=r)throw Error(l(301));if(r+=1,Ge=Ce=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}R.H=Nh,c=t(n,s)}while(Fi);return c}function dx(){var e=R.H,t=e.useState()[0];return t=typeof t.then=="function"?Ia(t):t,e=e.useState()[0],(Ce!==null?Ce.memoizedState:null)!==e&&(re.flags|=1024),t}function Vr(){var e=po!==0;return po=0,e}function Br(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ur(e){if(ho){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ho=!1}dn=0,Ge=Ce=re=null,Fi=!1,Ga=po=0,Qi=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ge===null?re.memoizedState=Ge=e:Ge=Ge.next=e,Ge}function qe(){if(Ce===null){var e=re.alternate;e=e!==null?e.memoizedState:null}else e=Ce.next;var t=Ge===null?re.memoizedState:Ge.next;if(t!==null)Ge=t,Ce=e;else{if(e===null)throw re.alternate===null?Error(l(467)):Error(l(310));Ce=e,e={memoizedState:Ce.memoizedState,baseState:Ce.baseState,baseQueue:Ce.baseQueue,queue:Ce.queue,next:null},Ge===null?re.memoizedState=Ge=e:Ge=Ge.next=e}return Ge}function _o(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ia(e){var t=Ga;return Ga+=1,Qi===null&&(Qi=[]),e=qf(Qi,e,t),t=re,(Ge===null?t.memoizedState:Ge.next)===null&&(t=t.alternate,R.H=t===null||t.memoizedState===null?zh:Zr),e}function mo(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ia(e);if(e.$$typeof===U)return tt(e)}throw Error(l(438,String(e)))}function Hr(e){var t=null,n=re.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var s=re.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(t={data:s.data.map(function(r){return r.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=_o(),re.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),s=0;s<e;s++)n[s]=$;return t.index++,n}function fn(e,t){return typeof t=="function"?t(e):t}function go(e){var t=qe();return Pr(t,Ce,e)}function Pr(e,t,n){var s=e.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=n;var r=e.baseQueue,c=s.pending;if(c!==null){if(r!==null){var p=r.next;r.next=c.next,c.next=p}t.baseQueue=r=c,s.pending=null}if(c=e.baseState,r===null)e.memoizedState=c;else{t=r.next;var y=p=null,S=null,C=t,D=!1;do{var j=C.lane&-536870913;if(j!==C.lane?(_e&j)===j:(dn&j)===j){var k=C.revertLane;if(k===0)S!==null&&(S=S.next={lane:0,revertLane:0,gesture:null,action:C.action,hasEagerState:C.hasEagerState,eagerState:C.eagerState,next:null}),j===Yi&&(D=!0);else if((dn&k)===k){C=C.next,k===Yi&&(D=!0);continue}else j={lane:0,revertLane:C.revertLane,gesture:null,action:C.action,hasEagerState:C.hasEagerState,eagerState:C.eagerState,next:null},S===null?(y=S=j,p=c):S=S.next=j,re.lanes|=k,Vn|=k;j=C.action,pi&&n(c,j),c=C.hasEagerState?C.eagerState:n(c,j)}else k={lane:j,revertLane:C.revertLane,gesture:C.gesture,action:C.action,hasEagerState:C.hasEagerState,eagerState:C.eagerState,next:null},S===null?(y=S=k,p=c):S=S.next=k,re.lanes|=j,Vn|=j;C=C.next}while(C!==null&&C!==t);if(S===null?p=c:S.next=y,!Tt(c,e.memoizedState)&&(Ie=!0,D&&(n=Gi,n!==null)))throw n;e.memoizedState=c,e.baseState=p,e.baseQueue=S,s.lastRenderedState=c}return r===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function Kr(e){var t=qe(),n=t.queue;if(n===null)throw Error(l(311));n.lastRenderedReducer=e;var s=n.dispatch,r=n.pending,c=t.memoizedState;if(r!==null){n.pending=null;var p=r=r.next;do c=e(c,p.action),p=p.next;while(p!==r);Tt(c,t.memoizedState)||(Ie=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),n.lastRenderedState=c}return[c,s]}function eh(e,t,n){var s=re,r=qe(),c=ge;if(c){if(n===void 0)throw Error(l(407));n=n()}else n=t();var p=!Tt((Ce||r).memoizedState,n);if(p&&(r.memoizedState=n,Ie=!0),r=r.queue,Gr(ih.bind(null,s,r,e),[e]),r.getSnapshot!==t||p||Ge!==null&&Ge.memoizedState.tag&1){if(s.flags|=2048,Zi(9,{destroy:void 0},nh.bind(null,s,r,n,t),null),Me===null)throw Error(l(349));c||(dn&127)!==0||th(s,t,n)}return n}function th(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=re.updateQueue,t===null?(t=_o(),re.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function nh(e,t,n,s){t.value=n,t.getSnapshot=s,ah(t)&&sh(e)}function ih(e,t,n){return n(function(){ah(t)&&sh(e)})}function ah(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Tt(e,n)}catch{return!0}}function sh(e){var t=si(e,2);t!==null&&yt(t,e,2)}function qr(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),pi){An(!0);try{n()}finally{An(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:e},t}function oh(e,t,n,s){return e.baseState=n,Pr(e,Ce,typeof s=="function"?s:fn)}function fx(e,t,n,s,r){if(bo(e))throw Error(l(485));if(e=t.action,e!==null){var c={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(p){c.listeners.push(p)}};R.T!==null?n(!0):c.isTransition=!1,s(c),n=t.pending,n===null?(c.next=t.pending=c,lh(t,c)):(c.next=n.next,t.pending=n.next=c)}}function lh(e,t){var n=t.action,s=t.payload,r=e.state;if(t.isTransition){var c=R.T,p={};R.T=p;try{var y=n(r,s),S=R.S;S!==null&&S(p,y),rh(e,t,y)}catch(C){Yr(e,t,C)}finally{c!==null&&p.types!==null&&(c.types=p.types),R.T=c}}else try{c=n(r,s),rh(e,t,c)}catch(C){Yr(e,t,C)}}function rh(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(s){uh(e,t,s)},function(s){return Yr(e,t,s)}):uh(e,t,n)}function uh(e,t,n){t.status="fulfilled",t.value=n,ch(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,lh(e,n)))}function Yr(e,t,n){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do t.status="rejected",t.reason=n,ch(t),t=t.next;while(t!==s)}e.action=null}function ch(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function dh(e,t){return t}function fh(e,t){if(ge){var n=Me.formState;if(n!==null){e:{var s=re;if(ge){if(Le){t:{for(var r=Le,c=jt;r.nodeType!==8;){if(!c){r=null;break t}if(r=Bt(r.nextSibling),r===null){r=null;break t}}c=r.data,r=c==="F!"||c==="F"?r:null}if(r){Le=Bt(r.nextSibling),s=r.data==="F!";break e}}Cn(s)}s=!1}s&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:dh,lastRenderedState:t},n.queue=s,n=Mh.bind(null,re,s),s.dispatch=n,s=qr(!1),c=Qr.bind(null,re,!1,s.queue),s=ut(),r={state:t,dispatch:null,action:e,pending:null},s.queue=r,n=fx.bind(null,re,r,c,n),r.dispatch=n,s.memoizedState=e,[t,n,!1]}function hh(e){var t=qe();return ph(t,Ce,e)}function ph(e,t,n){if(t=Pr(e,t,dh)[0],e=go(fn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var s=Ia(t)}catch(p){throw p===Ii?oo:p}else s=t;t=qe();var r=t.queue,c=r.dispatch;return n!==t.memoizedState&&(re.flags|=2048,Zi(9,{destroy:void 0},hx.bind(null,r,n),null)),[s,c,e]}function hx(e,t){e.action=t}function _h(e){var t=qe(),n=Ce;if(n!==null)return ph(t,n,e);qe(),t=t.memoizedState,n=qe();var s=n.queue.dispatch;return n.memoizedState=e,[t,s,!1]}function Zi(e,t,n,s){return e={tag:e,create:n,deps:s,inst:t,next:null},t=re.updateQueue,t===null&&(t=_o(),re.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(s=n.next,n.next=e,e.next=s,t.lastEffect=e),e}function mh(){return qe().memoizedState}function yo(e,t,n,s){var r=ut();re.flags|=e,r.memoizedState=Zi(1|t,{destroy:void 0},n,s===void 0?null:s)}function vo(e,t,n,s){var r=qe();s=s===void 0?null:s;var c=r.memoizedState.inst;Ce!==null&&s!==null&&Nr(s,Ce.memoizedState.deps)?r.memoizedState=Zi(t,c,n,s):(re.flags|=e,r.memoizedState=Zi(1|t,c,n,s))}function gh(e,t){yo(8390656,8,e,t)}function Gr(e,t){vo(2048,8,e,t)}function px(e){re.flags|=4;var t=re.updateQueue;if(t===null)t=_o(),re.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function yh(e){var t=qe().memoizedState;return px({ref:t,nextImpl:e}),function(){if((Ae&2)!==0)throw Error(l(440));return t.impl.apply(void 0,arguments)}}function vh(e,t){return vo(4,2,e,t)}function bh(e,t){return vo(4,4,e,t)}function Sh(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Th(e,t,n){n=n!=null?n.concat([e]):null,vo(4,4,Sh.bind(null,t,e),n)}function Ir(){}function Ah(e,t){var n=qe();t=t===void 0?null:t;var s=n.memoizedState;return t!==null&&Nr(t,s[1])?s[0]:(n.memoizedState=[e,t],e)}function xh(e,t){var n=qe();t=t===void 0?null:t;var s=n.memoizedState;if(t!==null&&Nr(t,s[1]))return s[0];if(s=e(),pi){An(!0);try{e()}finally{An(!1)}}return n.memoizedState=[s,t],s}function $r(e,t,n){return n===void 0||(dn&1073741824)!==0&&(_e&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=wp(),re.lanes|=e,Vn|=e,n)}function wh(e,t,n,s){return Tt(n,t)?n:Xi.current!==null?(e=$r(e,n,s),Tt(e,t)||(Ie=!0),e):(dn&42)===0||(dn&1073741824)!==0&&(_e&261930)===0?(Ie=!0,e.memoizedState=n):(e=wp(),re.lanes|=e,Vn|=e,t)}function Eh(e,t,n,s,r){var c=K.p;K.p=c!==0&&8>c?c:8;var p=R.T,y={};R.T=y,Qr(e,!1,t,n);try{var S=r(),C=R.S;if(C!==null&&C(y,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var D=ux(S,s);$a(e,t,D,Ct(e))}else $a(e,t,s,Ct(e))}catch(j){$a(e,t,{then:function(){},status:"rejected",reason:j},Ct())}finally{K.p=c,p!==null&&y.types!==null&&(p.types=y.types),R.T=p}}function _x(){}function Xr(e,t,n,s){if(e.tag!==5)throw Error(l(476));var r=Oh(e).queue;Eh(e,r,t,G,n===null?_x:function(){return Ch(e),n(s)})}function Oh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:G,baseState:G,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:G},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ch(e){var t=Oh(e);t.next===null&&(t=e.alternate.memoizedState),$a(e,t.next.queue,{},Ct())}function Fr(){return tt(cs)}function kh(){return qe().memoizedState}function Rh(){return qe().memoizedState}function mx(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ct();e=Mn(n);var s=Dn(t,e,n);s!==null&&(yt(s,t,n),Ka(s,t,n)),t={cache:xr()},e.payload=t;return}t=t.return}}function gx(e,t,n){var s=Ct();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},bo(e)?Dh(t,n):(n=hr(e,t,n,s),n!==null&&(yt(n,e,s),Lh(n,t,s)))}function Mh(e,t,n){var s=Ct();$a(e,t,n,s)}function $a(e,t,n,s){var r={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(bo(e))Dh(t,r);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var p=t.lastRenderedState,y=c(p,n);if(r.hasEagerState=!0,r.eagerState=y,Tt(y,p))return Js(e,t,r,0),Me===null&&Ws(),!1}catch{}if(n=hr(e,t,r,s),n!==null)return yt(n,e,s),Lh(n,t,s),!0}return!1}function Qr(e,t,n,s){if(s={lane:2,revertLane:Cu(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},bo(e)){if(t)throw Error(l(479))}else t=hr(e,n,s,2),t!==null&&yt(t,e,2)}function bo(e){var t=e.alternate;return e===re||t!==null&&t===re}function Dh(e,t){Fi=ho=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Lh(e,t,n){if((n&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Vd(e,n)}}var Xa={readContext:tt,use:mo,useCallback:Be,useContext:Be,useEffect:Be,useImperativeHandle:Be,useLayoutEffect:Be,useInsertionEffect:Be,useMemo:Be,useReducer:Be,useRef:Be,useState:Be,useDebugValue:Be,useDeferredValue:Be,useTransition:Be,useSyncExternalStore:Be,useId:Be,useHostTransitionStatus:Be,useFormState:Be,useActionState:Be,useOptimistic:Be,useMemoCache:Be,useCacheRefresh:Be};Xa.useEffectEvent=Be;var zh={readContext:tt,use:mo,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:tt,useEffect:gh,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,yo(4194308,4,Sh.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yo(4194308,4,e,t)},useInsertionEffect:function(e,t){yo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var s=e();if(pi){An(!0);try{e()}finally{An(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=ut();if(n!==void 0){var r=n(t);if(pi){An(!0);try{n(t)}finally{An(!1)}}}else r=t;return s.memoizedState=s.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},s.queue=e,e=e.dispatch=gx.bind(null,re,e),[s.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=qr(e);var t=e.queue,n=Mh.bind(null,re,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ir,useDeferredValue:function(e,t){var n=ut();return $r(n,e,t)},useTransition:function(){var e=qr(!1);return e=Eh.bind(null,re,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=re,r=ut();if(ge){if(n===void 0)throw Error(l(407));n=n()}else{if(n=t(),Me===null)throw Error(l(349));(_e&127)!==0||th(s,t,n)}r.memoizedState=n;var c={value:n,getSnapshot:t};return r.queue=c,gh(ih.bind(null,s,c,e),[e]),s.flags|=2048,Zi(9,{destroy:void 0},nh.bind(null,s,c,n,t),null),n},useId:function(){var e=ut(),t=Me.identifierPrefix;if(ge){var n=Ft,s=Xt;n=(s&~(1<<32-St(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=po++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=cx++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Fr,useFormState:fh,useActionState:fh,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Qr.bind(null,re,!0,n),n.dispatch=t,[e,t]},useMemoCache:Hr,useCacheRefresh:function(){return ut().memoizedState=mx.bind(null,re)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((Ae&2)!==0)throw Error(l(440));return n.impl.apply(void 0,arguments)}}},Zr={readContext:tt,use:mo,useCallback:Ah,useContext:tt,useEffect:Gr,useImperativeHandle:Th,useInsertionEffect:vh,useLayoutEffect:bh,useMemo:xh,useReducer:go,useRef:mh,useState:function(){return go(fn)},useDebugValue:Ir,useDeferredValue:function(e,t){var n=qe();return wh(n,Ce.memoizedState,e,t)},useTransition:function(){var e=go(fn)[0],t=qe().memoizedState;return[typeof e=="boolean"?e:Ia(e),t]},useSyncExternalStore:eh,useId:kh,useHostTransitionStatus:Fr,useFormState:hh,useActionState:hh,useOptimistic:function(e,t){var n=qe();return oh(n,Ce,e,t)},useMemoCache:Hr,useCacheRefresh:Rh};Zr.useEffectEvent=yh;var Nh={readContext:tt,use:mo,useCallback:Ah,useContext:tt,useEffect:Gr,useImperativeHandle:Th,useInsertionEffect:vh,useLayoutEffect:bh,useMemo:xh,useReducer:Kr,useRef:mh,useState:function(){return Kr(fn)},useDebugValue:Ir,useDeferredValue:function(e,t){var n=qe();return Ce===null?$r(n,e,t):wh(n,Ce.memoizedState,e,t)},useTransition:function(){var e=Kr(fn)[0],t=qe().memoizedState;return[typeof e=="boolean"?e:Ia(e),t]},useSyncExternalStore:eh,useId:kh,useHostTransitionStatus:Fr,useFormState:_h,useActionState:_h,useOptimistic:function(e,t){var n=qe();return Ce!==null?oh(n,Ce,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Hr,useCacheRefresh:Rh};Nh.useEffectEvent=yh;function Wr(e,t,n,s){t=e.memoizedState,n=n(s,t),n=n==null?t:v({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Jr={enqueueSetState:function(e,t,n){e=e._reactInternals;var s=Ct(),r=Mn(s);r.payload=t,n!=null&&(r.callback=n),t=Dn(e,r,s),t!==null&&(yt(t,e,s),Ka(t,e,s))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var s=Ct(),r=Mn(s);r.tag=1,r.payload=t,n!=null&&(r.callback=n),t=Dn(e,r,s),t!==null&&(yt(t,e,s),Ka(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ct(),s=Mn(n);s.tag=2,t!=null&&(s.callback=t),t=Dn(e,s,n),t!==null&&(yt(t,e,n),Ka(t,e,n))}};function jh(e,t,n,s,r,c,p){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,c,p):t.prototype&&t.prototype.isPureReactComponent?!za(n,s)||!za(r,c):!0}function Vh(e,t,n,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,s),t.state!==e&&Jr.enqueueReplaceState(t,t.state,null)}function _i(e,t){var n=t;if("ref"in t){n={};for(var s in t)s!=="ref"&&(n[s]=t[s])}if(e=e.defaultProps){n===t&&(n=v({},n));for(var r in e)n[r]===void 0&&(n[r]=e[r])}return n}function Bh(e){Zs(e)}function Uh(e){console.error(e)}function Hh(e){Zs(e)}function So(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(s){setTimeout(function(){throw s})}}function Ph(e,t,n){try{var s=e.onCaughtError;s(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(r){setTimeout(function(){throw r})}}function eu(e,t,n){return n=Mn(n),n.tag=3,n.payload={element:null},n.callback=function(){So(e,t)},n}function Kh(e){return e=Mn(e),e.tag=3,e}function qh(e,t,n,s){var r=n.type.getDerivedStateFromError;if(typeof r=="function"){var c=s.value;e.payload=function(){return r(c)},e.callback=function(){Ph(t,n,s)}}var p=n.stateNode;p!==null&&typeof p.componentDidCatch=="function"&&(e.callback=function(){Ph(t,n,s),typeof r!="function"&&(Bn===null?Bn=new Set([this]):Bn.add(this));var y=s.stack;this.componentDidCatch(s.value,{componentStack:y!==null?y:""})})}function yx(e,t,n,s,r){if(n.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(t=n.alternate,t!==null&&qi(t,n,r,!0),n=xt.current,n!==null){switch(n.tag){case 31:case 13:return Vt===null?Lo():n.alternate===null&&Ue===0&&(Ue=3),n.flags&=-257,n.flags|=65536,n.lanes=r,s===lo?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([s]):t.add(s),wu(e,s,r)),!1;case 22:return n.flags|=65536,s===lo?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([s])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([s]):n.add(s)),wu(e,s,r)),!1}throw Error(l(435,n.tag))}return wu(e,s,r),Lo(),!1}if(ge)return t=xt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=r,s!==vr&&(e=Error(l(422),{cause:s}),Va(Lt(e,n)))):(s!==vr&&(t=Error(l(423),{cause:s}),Va(Lt(t,n))),e=e.current.alternate,e.flags|=65536,r&=-r,e.lanes|=r,s=Lt(s,n),r=eu(e.stateNode,s,r),Rr(e,r),Ue!==4&&(Ue=2)),!1;var c=Error(l(520),{cause:s});if(c=Lt(c,n),ns===null?ns=[c]:ns.push(c),Ue!==4&&(Ue=2),t===null)return!0;s=Lt(s,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=r&-r,n.lanes|=e,e=eu(n.stateNode,s,e),Rr(n,e),!1;case 1:if(t=n.type,c=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Bn===null||!Bn.has(c))))return n.flags|=65536,r&=-r,n.lanes|=r,r=Kh(r),qh(r,e,n,s),Rr(n,r),!1}n=n.return}while(n!==null);return!1}var tu=Error(l(461)),Ie=!1;function nt(e,t,n,s){t.child=e===null?$f(t,null,n,s):hi(t,e.child,n,s)}function Yh(e,t,n,s,r){n=n.render;var c=t.ref;if("ref"in s){var p={};for(var y in s)y!=="ref"&&(p[y]=s[y])}else p=s;return ui(t),s=jr(e,t,n,p,c,r),y=Vr(),e!==null&&!Ie?(Br(e,t,r),hn(e,t,r)):(ge&&y&&gr(t),t.flags|=1,nt(e,t,s,r),t.child)}function Gh(e,t,n,s,r){if(e===null){var c=n.type;return typeof c=="function"&&!pr(c)&&c.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=c,Ih(e,t,c,s,r)):(e=to(n.type,null,s,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!uu(e,r)){var p=c.memoizedProps;if(n=n.compare,n=n!==null?n:za,n(p,s)&&e.ref===t.ref)return hn(e,t,r)}return t.flags|=1,e=ln(c,s),e.ref=t.ref,e.return=t,t.child=e}function Ih(e,t,n,s,r){if(e!==null){var c=e.memoizedProps;if(za(c,s)&&e.ref===t.ref)if(Ie=!1,t.pendingProps=s=c,uu(e,r))(e.flags&131072)!==0&&(Ie=!0);else return t.lanes=e.lanes,hn(e,t,r)}return nu(e,t,n,s,r)}function $h(e,t,n,s){var r=s.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|n:n,e!==null){for(s=t.child=e.child,r=0;s!==null;)r=r|s.lanes|s.childLanes,s=s.sibling;s=r&~c}else s=0,t.child=null;return Xh(e,t,c,n,s)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&so(t,c!==null?c.cachePool:null),c!==null?Qf(t,c):Dr(),Zf(t);else return s=t.lanes=536870912,Xh(e,t,c!==null?c.baseLanes|n:n,n,s)}else c!==null?(so(t,c.cachePool),Qf(t,c),zn(),t.memoizedState=null):(e!==null&&so(t,null),Dr(),zn());return nt(e,t,r,n),t.child}function Fa(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Xh(e,t,n,s,r){var c=Er();return c=c===null?null:{parent:Ye._currentValue,pool:c},t.memoizedState={baseLanes:n,cachePool:c},e!==null&&so(t,null),Dr(),Zf(t),e!==null&&qi(e,t,s,!0),t.childLanes=r,null}function To(e,t){return t=xo({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Fh(e,t,n){return hi(t,e.child,null,n),e=To(t,t.pendingProps),e.flags|=2,wt(t),t.memoizedState=null,e}function vx(e,t,n){var s=t.pendingProps,r=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ge){if(s.mode==="hidden")return e=To(t,s),t.lanes=536870912,Fa(null,e);if(zr(t),(e=Le)?(e=l_(e,jt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:En!==null?{id:Xt,overflow:Ft}:null,retryLane:536870912,hydrationErrors:null},n=Df(e),n.return=t,t.child=n,et=t,Le=null)):e=null,e===null)throw Cn(t);return t.lanes=536870912,null}return To(t,s)}var c=e.memoizedState;if(c!==null){var p=c.dehydrated;if(zr(t),r)if(t.flags&256)t.flags&=-257,t=Fh(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(l(558));else if(Ie||qi(e,t,n,!1),r=(n&e.childLanes)!==0,Ie||r){if(s=Me,s!==null&&(p=Bd(s,n),p!==0&&p!==c.retryLane))throw c.retryLane=p,si(e,p),yt(s,e,p),tu;Lo(),t=Fh(e,t,n)}else e=c.treeContext,Le=Bt(p.nextSibling),et=t,ge=!0,On=null,jt=!1,e!==null&&Nf(t,e),t=To(t,s),t.flags|=4096;return t}return e=ln(e.child,{mode:s.mode,children:s.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ao(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(l(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function nu(e,t,n,s,r){return ui(t),n=jr(e,t,n,s,void 0,r),s=Vr(),e!==null&&!Ie?(Br(e,t,r),hn(e,t,r)):(ge&&s&&gr(t),t.flags|=1,nt(e,t,n,r),t.child)}function Qh(e,t,n,s,r,c){return ui(t),t.updateQueue=null,n=Jf(t,s,n,r),Wf(e),s=Vr(),e!==null&&!Ie?(Br(e,t,c),hn(e,t,c)):(ge&&s&&gr(t),t.flags|=1,nt(e,t,n,c),t.child)}function Zh(e,t,n,s,r){if(ui(t),t.stateNode===null){var c=Ui,p=n.contextType;typeof p=="object"&&p!==null&&(c=tt(p)),c=new n(s,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=Jr,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=s,c.state=t.memoizedState,c.refs={},Cr(t),p=n.contextType,c.context=typeof p=="object"&&p!==null?tt(p):Ui,c.state=t.memoizedState,p=n.getDerivedStateFromProps,typeof p=="function"&&(Wr(t,n,p,s),c.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(p=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),p!==c.state&&Jr.enqueueReplaceState(c,c.state,null),Ya(t,s,c,r),qa(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),s=!0}else if(e===null){c=t.stateNode;var y=t.memoizedProps,S=_i(n,y);c.props=S;var C=c.context,D=n.contextType;p=Ui,typeof D=="object"&&D!==null&&(p=tt(D));var j=n.getDerivedStateFromProps;D=typeof j=="function"||typeof c.getSnapshotBeforeUpdate=="function",y=t.pendingProps!==y,D||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(y||C!==p)&&Vh(t,c,s,p),Rn=!1;var k=t.memoizedState;c.state=k,Ya(t,s,c,r),qa(),C=t.memoizedState,y||k!==C||Rn?(typeof j=="function"&&(Wr(t,n,j,s),C=t.memoizedState),(S=Rn||jh(t,n,S,s,k,C,p))?(D||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=C),c.props=s,c.state=C,c.context=p,s=S):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{c=t.stateNode,kr(e,t),p=t.memoizedProps,D=_i(n,p),c.props=D,j=t.pendingProps,k=c.context,C=n.contextType,S=Ui,typeof C=="object"&&C!==null&&(S=tt(C)),y=n.getDerivedStateFromProps,(C=typeof y=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(p!==j||k!==S)&&Vh(t,c,s,S),Rn=!1,k=t.memoizedState,c.state=k,Ya(t,s,c,r),qa();var M=t.memoizedState;p!==j||k!==M||Rn||e!==null&&e.dependencies!==null&&io(e.dependencies)?(typeof y=="function"&&(Wr(t,n,y,s),M=t.memoizedState),(D=Rn||jh(t,n,D,s,k,M,S)||e!==null&&e.dependencies!==null&&io(e.dependencies))?(C||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(s,M,S),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(s,M,S)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||p===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=M),c.props=s,c.state=M,c.context=S,s=D):(typeof c.componentDidUpdate!="function"||p===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),s=!1)}return c=s,Ao(e,t),s=(t.flags&128)!==0,c||s?(c=t.stateNode,n=s&&typeof n.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&s?(t.child=hi(t,e.child,null,r),t.child=hi(t,null,n,r)):nt(e,t,n,r),t.memoizedState=c.state,e=t.child):e=hn(e,t,r),e}function Wh(e,t,n,s){return li(),t.flags|=256,nt(e,t,n,s),t.child}var iu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function au(e){return{baseLanes:e,cachePool:Pf()}}function su(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Ot),e}function Jh(e,t,n){var s=t.pendingProps,r=!1,c=(t.flags&128)!==0,p;if((p=c)||(p=e!==null&&e.memoizedState===null?!1:(Ke.current&2)!==0),p&&(r=!0,t.flags&=-129),p=(t.flags&32)!==0,t.flags&=-33,e===null){if(ge){if(r?Ln(t):zn(),(e=Le)?(e=l_(e,jt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:En!==null?{id:Xt,overflow:Ft}:null,retryLane:536870912,hydrationErrors:null},n=Df(e),n.return=t,t.child=n,et=t,Le=null)):e=null,e===null)throw Cn(t);return Pu(e)?t.lanes=32:t.lanes=536870912,null}var y=s.children;return s=s.fallback,r?(zn(),r=t.mode,y=xo({mode:"hidden",children:y},r),s=oi(s,r,n,null),y.return=t,s.return=t,y.sibling=s,t.child=y,s=t.child,s.memoizedState=au(n),s.childLanes=su(e,p,n),t.memoizedState=iu,Fa(null,s)):(Ln(t),ou(t,y))}var S=e.memoizedState;if(S!==null&&(y=S.dehydrated,y!==null)){if(c)t.flags&256?(Ln(t),t.flags&=-257,t=lu(e,t,n)):t.memoizedState!==null?(zn(),t.child=e.child,t.flags|=128,t=null):(zn(),y=s.fallback,r=t.mode,s=xo({mode:"visible",children:s.children},r),y=oi(y,r,n,null),y.flags|=2,s.return=t,y.return=t,s.sibling=y,t.child=s,hi(t,e.child,null,n),s=t.child,s.memoizedState=au(n),s.childLanes=su(e,p,n),t.memoizedState=iu,t=Fa(null,s));else if(Ln(t),Pu(y)){if(p=y.nextSibling&&y.nextSibling.dataset,p)var C=p.dgst;p=C,s=Error(l(419)),s.stack="",s.digest=p,Va({value:s,source:null,stack:null}),t=lu(e,t,n)}else if(Ie||qi(e,t,n,!1),p=(n&e.childLanes)!==0,Ie||p){if(p=Me,p!==null&&(s=Bd(p,n),s!==0&&s!==S.retryLane))throw S.retryLane=s,si(e,s),yt(p,e,s),tu;Hu(y)||Lo(),t=lu(e,t,n)}else Hu(y)?(t.flags|=192,t.child=e.child,t=null):(e=S.treeContext,Le=Bt(y.nextSibling),et=t,ge=!0,On=null,jt=!1,e!==null&&Nf(t,e),t=ou(t,s.children),t.flags|=4096);return t}return r?(zn(),y=s.fallback,r=t.mode,S=e.child,C=S.sibling,s=ln(S,{mode:"hidden",children:s.children}),s.subtreeFlags=S.subtreeFlags&65011712,C!==null?y=ln(C,y):(y=oi(y,r,n,null),y.flags|=2),y.return=t,s.return=t,s.sibling=y,t.child=s,Fa(null,s),s=t.child,y=e.child.memoizedState,y===null?y=au(n):(r=y.cachePool,r!==null?(S=Ye._currentValue,r=r.parent!==S?{parent:S,pool:S}:r):r=Pf(),y={baseLanes:y.baseLanes|n,cachePool:r}),s.memoizedState=y,s.childLanes=su(e,p,n),t.memoizedState=iu,Fa(e.child,s)):(Ln(t),n=e.child,e=n.sibling,n=ln(n,{mode:"visible",children:s.children}),n.return=t,n.sibling=null,e!==null&&(p=t.deletions,p===null?(t.deletions=[e],t.flags|=16):p.push(e)),t.child=n,t.memoizedState=null,n)}function ou(e,t){return t=xo({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function xo(e,t){return e=At(22,e,null,t),e.lanes=0,e}function lu(e,t,n){return hi(t,e.child,null,n),e=ou(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ep(e,t,n){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),Tr(e.return,t,n)}function ru(e,t,n,s,r,c){var p=e.memoizedState;p===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:n,tailMode:r,treeForkCount:c}:(p.isBackwards=t,p.rendering=null,p.renderingStartTime=0,p.last=s,p.tail=n,p.tailMode=r,p.treeForkCount=c)}function tp(e,t,n){var s=t.pendingProps,r=s.revealOrder,c=s.tail;s=s.children;var p=Ke.current,y=(p&2)!==0;if(y?(p=p&1|2,t.flags|=128):p&=1,q(Ke,p),nt(e,t,s,n),s=ge?ja:0,!y&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ep(e,n,t);else if(e.tag===19)ep(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&fo(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),ru(t,!1,r,n,c,s);break;case"backwards":case"unstable_legacy-backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&fo(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}ru(t,!0,n,null,c,s);break;case"together":ru(t,!1,null,null,void 0,s);break;default:t.memoizedState=null}return t.child}function hn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Vn|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(qi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(l(153));if(t.child!==null){for(e=t.child,n=ln(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ln(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function uu(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&io(e)))}function bx(e,t,n){switch(t.tag){case 3:rt(t,t.stateNode.containerInfo),kn(t,Ye,e.memoizedState.cache),li();break;case 27:case 5:Sa(t);break;case 4:rt(t,t.stateNode.containerInfo);break;case 10:kn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,zr(t),null;break;case 13:var s=t.memoizedState;if(s!==null)return s.dehydrated!==null?(Ln(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Jh(e,t,n):(Ln(t),e=hn(e,t,n),e!==null?e.sibling:null);Ln(t);break;case 19:var r=(e.flags&128)!==0;if(s=(n&t.childLanes)!==0,s||(qi(e,t,n,!1),s=(n&t.childLanes)!==0),r){if(s)return tp(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),q(Ke,Ke.current),s)break;return null;case 22:return t.lanes=0,$h(e,t,n,t.pendingProps);case 24:kn(t,Ye,e.memoizedState.cache)}return hn(e,t,n)}function np(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ie=!0;else{if(!uu(e,n)&&(t.flags&128)===0)return Ie=!1,bx(e,t,n);Ie=(e.flags&131072)!==0}else Ie=!1,ge&&(t.flags&1048576)!==0&&zf(t,ja,t.index);switch(t.lanes=0,t.tag){case 16:e:{var s=t.pendingProps;if(e=di(t.elementType),t.type=e,typeof e=="function")pr(e)?(s=_i(e,s),t.tag=1,t=Zh(null,t,e,s,n)):(t.tag=0,t=nu(null,t,e,s,n));else{if(e!=null){var r=e.$$typeof;if(r===H){t.tag=11,t=Yh(null,t,e,s,n);break e}else if(r===W){t.tag=14,t=Gh(null,t,e,s,n);break e}}throw t=be(e)||e,Error(l(306,t,""))}}return t;case 0:return nu(e,t,t.type,t.pendingProps,n);case 1:return s=t.type,r=_i(s,t.pendingProps),Zh(e,t,s,r,n);case 3:e:{if(rt(t,t.stateNode.containerInfo),e===null)throw Error(l(387));s=t.pendingProps;var c=t.memoizedState;r=c.element,kr(e,t),Ya(t,s,null,n);var p=t.memoizedState;if(s=p.cache,kn(t,Ye,s),s!==c.cache&&Ar(t,[Ye],n,!0),qa(),s=p.element,c.isDehydrated)if(c={element:s,isDehydrated:!1,cache:p.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=Wh(e,t,s,n);break e}else if(s!==r){r=Lt(Error(l(424)),t),Va(r),t=Wh(e,t,s,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Le=Bt(e.firstChild),et=t,ge=!0,On=null,jt=!0,n=$f(t,null,s,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(li(),s===r){t=hn(e,t,n);break e}nt(e,t,s,n)}t=t.child}return t;case 26:return Ao(e,t),e===null?(n=h_(t.type,null,t.pendingProps,null))?t.memoizedState=n:ge||(n=t.type,e=t.pendingProps,s=Ho(fe.current).createElement(n),s[Je]=t,s[ft]=e,it(s,n,e),Ze(s),t.stateNode=s):t.memoizedState=h_(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Sa(t),e===null&&ge&&(s=t.stateNode=c_(t.type,t.pendingProps,fe.current),et=t,jt=!0,r=Le,Kn(t.type)?(Ku=r,Le=Bt(s.firstChild)):Le=r),nt(e,t,t.pendingProps.children,n),Ao(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ge&&((r=s=Le)&&(s=Qx(s,t.type,t.pendingProps,jt),s!==null?(t.stateNode=s,et=t,Le=Bt(s.firstChild),jt=!1,r=!0):r=!1),r||Cn(t)),Sa(t),r=t.type,c=t.pendingProps,p=e!==null?e.memoizedProps:null,s=c.children,Vu(r,c)?s=null:p!==null&&Vu(r,p)&&(t.flags|=32),t.memoizedState!==null&&(r=jr(e,t,dx,null,null,n),cs._currentValue=r),Ao(e,t),nt(e,t,s,n),t.child;case 6:return e===null&&ge&&((e=n=Le)&&(n=Zx(n,t.pendingProps,jt),n!==null?(t.stateNode=n,et=t,Le=null,e=!0):e=!1),e||Cn(t)),null;case 13:return Jh(e,t,n);case 4:return rt(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=hi(t,null,s,n):nt(e,t,s,n),t.child;case 11:return Yh(e,t,t.type,t.pendingProps,n);case 7:return nt(e,t,t.pendingProps,n),t.child;case 8:return nt(e,t,t.pendingProps.children,n),t.child;case 12:return nt(e,t,t.pendingProps.children,n),t.child;case 10:return s=t.pendingProps,kn(t,t.type,s.value),nt(e,t,s.children,n),t.child;case 9:return r=t.type._context,s=t.pendingProps.children,ui(t),r=tt(r),s=s(r),t.flags|=1,nt(e,t,s,n),t.child;case 14:return Gh(e,t,t.type,t.pendingProps,n);case 15:return Ih(e,t,t.type,t.pendingProps,n);case 19:return tp(e,t,n);case 31:return vx(e,t,n);case 22:return $h(e,t,n,t.pendingProps);case 24:return ui(t),s=tt(Ye),e===null?(r=Er(),r===null&&(r=Me,c=xr(),r.pooledCache=c,c.refCount++,c!==null&&(r.pooledCacheLanes|=n),r=c),t.memoizedState={parent:s,cache:r},Cr(t),kn(t,Ye,r)):((e.lanes&n)!==0&&(kr(e,t),Ya(t,null,null,n),qa()),r=e.memoizedState,c=t.memoizedState,r.parent!==s?(r={parent:s,cache:s},t.memoizedState=r,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=r),kn(t,Ye,s)):(s=c.cache,kn(t,Ye,s),s!==r.cache&&Ar(t,[Ye],n,!0))),nt(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(l(156,t.tag))}function pn(e){e.flags|=4}function cu(e,t,n,s,r){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(r&335544128)===r)if(e.stateNode.complete)e.flags|=8192;else if(kp())e.flags|=8192;else throw fi=lo,Or}else e.flags&=-16777217}function ip(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!y_(t))if(kp())e.flags|=8192;else throw fi=lo,Or}function wo(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Nd():536870912,e.lanes|=t,ta|=t)}function Qa(e,t){if(!ge)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function ze(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,s=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,s|=r.subtreeFlags&65011712,s|=r.flags&65011712,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,s|=r.subtreeFlags,s|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=s,e.childLanes=n,t}function Sx(e,t,n){var s=t.pendingProps;switch(yr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ze(t),null;case 1:return ze(t),null;case 3:return n=t.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),t.memoizedState.cache!==s&&(t.flags|=2048),cn(Ye),Pe(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ki(t)?pn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,br())),ze(t),null;case 26:var r=t.type,c=t.memoizedState;return e===null?(pn(t),c!==null?(ze(t),ip(t,c)):(ze(t),cu(t,r,null,s,n))):c?c!==e.memoizedState?(pn(t),ze(t),ip(t,c)):(ze(t),t.flags&=-16777217):(e=e.memoizedProps,e!==s&&pn(t),ze(t),cu(t,r,e,s,n)),null;case 27:if(Ns(t),n=fe.current,r=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&pn(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return ze(t),null}e=X.current,Ki(t)?jf(t):(e=c_(r,s,n),t.stateNode=e,pn(t))}return ze(t),null;case 5:if(Ns(t),r=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&pn(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return ze(t),null}if(c=X.current,Ki(t))jf(t);else{var p=Ho(fe.current);switch(c){case 1:c=p.createElementNS("http://www.w3.org/2000/svg",r);break;case 2:c=p.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;default:switch(r){case"svg":c=p.createElementNS("http://www.w3.org/2000/svg",r);break;case"math":c=p.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;case"script":c=p.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof s.is=="string"?p.createElement("select",{is:s.is}):p.createElement("select"),s.multiple?c.multiple=!0:s.size&&(c.size=s.size);break;default:c=typeof s.is=="string"?p.createElement(r,{is:s.is}):p.createElement(r)}}c[Je]=t,c[ft]=s;e:for(p=t.child;p!==null;){if(p.tag===5||p.tag===6)c.appendChild(p.stateNode);else if(p.tag!==4&&p.tag!==27&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===t)break e;for(;p.sibling===null;){if(p.return===null||p.return===t)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}t.stateNode=c;e:switch(it(c,r,s),r){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&pn(t)}}return ze(t),cu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&pn(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(l(166));if(e=fe.current,Ki(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,r=et,r!==null)switch(r.tag){case 27:case 5:s=r.memoizedProps}e[Je]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||Jp(e.nodeValue,n)),e||Cn(t,!0)}else e=Ho(e).createTextNode(s),e[Je]=t,t.stateNode=e}return ze(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=Ki(t),n!==null){if(e===null){if(!s)throw Error(l(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[Je]=t}else li(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ze(t),e=!1}else n=br(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(wt(t),t):(wt(t),null);if((t.flags&128)!==0)throw Error(l(558))}return ze(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Ki(t),s!==null&&s.dehydrated!==null){if(e===null){if(!r)throw Error(l(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(l(317));r[Je]=t}else li(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ze(t),r=!1}else r=br(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(wt(t),t):(wt(t),null)}return wt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,r=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(r=s.alternate.memoizedState.cachePool.pool),c=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(c=s.memoizedState.cachePool.pool),c!==r&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),wo(t,t.updateQueue),ze(t),null);case 4:return Pe(),e===null&&Du(t.stateNode.containerInfo),ze(t),null;case 10:return cn(t.type),ze(t),null;case 19:if(z(Ke),s=t.memoizedState,s===null)return ze(t),null;if(r=(t.flags&128)!==0,c=s.rendering,c===null)if(r)Qa(s,!1);else{if(Ue!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=fo(e),c!==null){for(t.flags|=128,Qa(s,!1),e=c.updateQueue,t.updateQueue=e,wo(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Mf(n,e),n=n.sibling;return q(Ke,Ke.current&1|2),ge&&rn(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&vt()>Ro&&(t.flags|=128,r=!0,Qa(s,!1),t.lanes=4194304)}else{if(!r)if(e=fo(c),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,wo(t,e),Qa(s,!0),s.tail===null&&s.tailMode==="hidden"&&!c.alternate&&!ge)return ze(t),null}else 2*vt()-s.renderingStartTime>Ro&&n!==536870912&&(t.flags|=128,r=!0,Qa(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(e=s.last,e!==null?e.sibling=c:t.child=c,s.last=c)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=vt(),e.sibling=null,n=Ke.current,q(Ke,r?n&1|2:n&1),ge&&rn(t,s.treeForkCount),e):(ze(t),null);case 22:case 23:return wt(t),Lr(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(n&536870912)!==0&&(t.flags&128)===0&&(ze(t),t.subtreeFlags&6&&(t.flags|=8192)):ze(t),n=t.updateQueue,n!==null&&wo(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&z(ci),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),cn(Ye),ze(t),null;case 25:return null;case 30:return null}throw Error(l(156,t.tag))}function Tx(e,t){switch(yr(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cn(Ye),Pe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ns(t),null;case 31:if(t.memoizedState!==null){if(wt(t),t.alternate===null)throw Error(l(340));li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(wt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(l(340));li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return z(Ke),null;case 4:return Pe(),null;case 10:return cn(t.type),null;case 22:case 23:return wt(t),Lr(),e!==null&&z(ci),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return cn(Ye),null;case 25:return null;default:return null}}function ap(e,t){switch(yr(t),t.tag){case 3:cn(Ye),Pe();break;case 26:case 27:case 5:Ns(t);break;case 4:Pe();break;case 31:t.memoizedState!==null&&wt(t);break;case 13:wt(t);break;case 19:z(Ke);break;case 10:cn(t.type);break;case 22:case 23:wt(t),Lr(),e!==null&&z(ci);break;case 24:cn(Ye)}}function Za(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var r=s.next;n=r;do{if((n.tag&e)===e){s=void 0;var c=n.create,p=n.inst;s=c(),p.destroy=s}n=n.next}while(n!==r)}}catch(y){Oe(t,t.return,y)}}function Nn(e,t,n){try{var s=t.updateQueue,r=s!==null?s.lastEffect:null;if(r!==null){var c=r.next;s=c;do{if((s.tag&e)===e){var p=s.inst,y=p.destroy;if(y!==void 0){p.destroy=void 0,r=t;var S=n,C=y;try{C()}catch(D){Oe(r,S,D)}}}s=s.next}while(s!==c)}}catch(D){Oe(t,t.return,D)}}function sp(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ff(t,n)}catch(s){Oe(e,e.return,s)}}}function op(e,t,n){n.props=_i(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){Oe(e,t,s)}}function Wa(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(r){Oe(e,t,r)}}function Qt(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(r){Oe(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Oe(e,t,r)}else n.current=null}function lp(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(r){Oe(e,e.return,r)}}function du(e,t,n){try{var s=e.stateNode;Yx(s,e.type,n,t),s[ft]=t}catch(r){Oe(e,e.return,r)}}function rp(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Kn(e.type)||e.tag===4}function fu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||rp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Kn(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hu(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=sn));else if(s!==4&&(s===27&&Kn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(hu(e,t,n),e=e.sibling;e!==null;)hu(e,t,n),e=e.sibling}function Eo(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&Kn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Eo(e,t,n),e=e.sibling;e!==null;)Eo(e,t,n),e=e.sibling}function up(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);it(t,s,n),t[Je]=e,t[ft]=n}catch(c){Oe(e,e.return,c)}}var _n=!1,$e=!1,pu=!1,cp=typeof WeakSet=="function"?WeakSet:Set,We=null;function Ax(e,t){if(e=e.containerInfo,Nu=$o,e=Tf(e),lr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var r=s.anchorOffset,c=s.focusNode;s=s.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var p=0,y=-1,S=-1,C=0,D=0,j=e,k=null;t:for(;;){for(var M;j!==n||r!==0&&j.nodeType!==3||(y=p+r),j!==c||s!==0&&j.nodeType!==3||(S=p+s),j.nodeType===3&&(p+=j.nodeValue.length),(M=j.firstChild)!==null;)k=j,j=M;for(;;){if(j===e)break t;if(k===n&&++C===r&&(y=p),k===c&&++D===s&&(S=p),(M=j.nextSibling)!==null)break;j=k,k=j.parentNode}j=M}n=y===-1||S===-1?null:{start:y,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(ju={focusedElem:e,selectionRange:n},$o=!1,We=t;We!==null;)if(t=We,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,We=e;else for(;We!==null;){switch(t=We,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)r=e[n],r.ref.impl=r.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,n=t,r=c.memoizedProps,c=c.memoizedState,s=n.stateNode;try{var F=_i(n.type,r);e=s.getSnapshotBeforeUpdate(F,c),s.__reactInternalSnapshotBeforeUpdate=e}catch(ne){Oe(n,n.return,ne)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Uu(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Uu(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(l(163))}if(e=t.sibling,e!==null){e.return=t.return,We=e;break}We=t.return}}function dp(e,t,n){var s=n.flags;switch(n.tag){case 0:case 11:case 15:gn(e,n),s&4&&Za(5,n);break;case 1:if(gn(e,n),s&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(p){Oe(n,n.return,p)}else{var r=_i(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(p){Oe(n,n.return,p)}}s&64&&sp(n),s&512&&Wa(n,n.return);break;case 3:if(gn(e,n),s&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ff(e,t)}catch(p){Oe(n,n.return,p)}}break;case 27:t===null&&s&4&&up(n);case 26:case 5:gn(e,n),t===null&&s&4&&lp(n),s&512&&Wa(n,n.return);break;case 12:gn(e,n);break;case 31:gn(e,n),s&4&&pp(e,n);break;case 13:gn(e,n),s&4&&_p(e,n),s&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Dx.bind(null,n),Wx(e,n))));break;case 22:if(s=n.memoizedState!==null||_n,!s){t=t!==null&&t.memoizedState!==null||$e,r=_n;var c=$e;_n=s,($e=t)&&!c?yn(e,n,(n.subtreeFlags&8772)!==0):gn(e,n),_n=r,$e=c}break;case 30:break;default:gn(e,n)}}function fp(e){var t=e.alternate;t!==null&&(e.alternate=null,fp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Yl(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ve=null,pt=!1;function mn(e,t,n){for(n=n.child;n!==null;)hp(e,t,n),n=n.sibling}function hp(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount=="function")try{bt.onCommitFiberUnmount(Ta,n)}catch{}switch(n.tag){case 26:$e||Qt(n,t),mn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:$e||Qt(n,t);var s=Ve,r=pt;Kn(n.type)&&(Ve=n.stateNode,pt=!1),mn(e,t,n),ls(n.stateNode),Ve=s,pt=r;break;case 5:$e||Qt(n,t);case 6:if(s=Ve,r=pt,Ve=null,mn(e,t,n),Ve=s,pt=r,Ve!==null)if(pt)try{(Ve.nodeType===9?Ve.body:Ve.nodeName==="HTML"?Ve.ownerDocument.body:Ve).removeChild(n.stateNode)}catch(c){Oe(n,t,c)}else try{Ve.removeChild(n.stateNode)}catch(c){Oe(n,t,c)}break;case 18:Ve!==null&&(pt?(e=Ve,s_(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),ua(e)):s_(Ve,n.stateNode));break;case 4:s=Ve,r=pt,Ve=n.stateNode.containerInfo,pt=!0,mn(e,t,n),Ve=s,pt=r;break;case 0:case 11:case 14:case 15:Nn(2,n,t),$e||Nn(4,n,t),mn(e,t,n);break;case 1:$e||(Qt(n,t),s=n.stateNode,typeof s.componentWillUnmount=="function"&&op(n,t,s)),mn(e,t,n);break;case 21:mn(e,t,n);break;case 22:$e=(s=$e)||n.memoizedState!==null,mn(e,t,n),$e=s;break;default:mn(e,t,n)}}function pp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ua(e)}catch(n){Oe(t,t.return,n)}}}function _p(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ua(e)}catch(n){Oe(t,t.return,n)}}function xx(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new cp),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new cp),t;default:throw Error(l(435,e.tag))}}function Oo(e,t){var n=xx(e);t.forEach(function(s){if(!n.has(s)){n.add(s);var r=Lx.bind(null,e,s);s.then(r,r)}})}function _t(e,t){var n=t.deletions;if(n!==null)for(var s=0;s<n.length;s++){var r=n[s],c=e,p=t,y=p;e:for(;y!==null;){switch(y.tag){case 27:if(Kn(y.type)){Ve=y.stateNode,pt=!1;break e}break;case 5:Ve=y.stateNode,pt=!1;break e;case 3:case 4:Ve=y.stateNode.containerInfo,pt=!0;break e}y=y.return}if(Ve===null)throw Error(l(160));hp(c,p,r),Ve=null,pt=!1,c=r.alternate,c!==null&&(c.return=null),r.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)mp(t,e),t=t.sibling}var qt=null;function mp(e,t){var n=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:_t(t,e),mt(e),s&4&&(Nn(3,e,e.return),Za(3,e),Nn(5,e,e.return));break;case 1:_t(t,e),mt(e),s&512&&($e||n===null||Qt(n,n.return)),s&64&&_n&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?s:n.concat(s))));break;case 26:var r=qt;if(_t(t,e),mt(e),s&512&&($e||n===null||Qt(n,n.return)),s&4){var c=n!==null?n.memoizedState:null;if(s=e.memoizedState,n===null)if(s===null)if(e.stateNode===null){e:{s=e.type,n=e.memoizedProps,r=r.ownerDocument||r;t:switch(s){case"title":c=r.getElementsByTagName("title")[0],(!c||c[wa]||c[Je]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=r.createElement(s),r.head.insertBefore(c,r.querySelector("head > title"))),it(c,s,n),c[Je]=e,Ze(c),s=c;break e;case"link":var p=m_("link","href",r).get(s+(n.href||""));if(p){for(var y=0;y<p.length;y++)if(c=p[y],c.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&c.getAttribute("rel")===(n.rel==null?null:n.rel)&&c.getAttribute("title")===(n.title==null?null:n.title)&&c.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){p.splice(y,1);break t}}c=r.createElement(s),it(c,s,n),r.head.appendChild(c);break;case"meta":if(p=m_("meta","content",r).get(s+(n.content||""))){for(y=0;y<p.length;y++)if(c=p[y],c.getAttribute("content")===(n.content==null?null:""+n.content)&&c.getAttribute("name")===(n.name==null?null:n.name)&&c.getAttribute("property")===(n.property==null?null:n.property)&&c.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&c.getAttribute("charset")===(n.charSet==null?null:n.charSet)){p.splice(y,1);break t}}c=r.createElement(s),it(c,s,n),r.head.appendChild(c);break;default:throw Error(l(468,s))}c[Je]=e,Ze(c),s=c}e.stateNode=s}else g_(r,e.type,e.stateNode);else e.stateNode=__(r,s,e.memoizedProps);else c!==s?(c===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):c.count--,s===null?g_(r,e.type,e.stateNode):__(r,s,e.memoizedProps)):s===null&&e.stateNode!==null&&du(e,e.memoizedProps,n.memoizedProps)}break;case 27:_t(t,e),mt(e),s&512&&($e||n===null||Qt(n,n.return)),n!==null&&s&4&&du(e,e.memoizedProps,n.memoizedProps);break;case 5:if(_t(t,e),mt(e),s&512&&($e||n===null||Qt(n,n.return)),e.flags&32){r=e.stateNode;try{Di(r,"")}catch(F){Oe(e,e.return,F)}}s&4&&e.stateNode!=null&&(r=e.memoizedProps,du(e,r,n!==null?n.memoizedProps:r)),s&1024&&(pu=!0);break;case 6:if(_t(t,e),mt(e),s&4){if(e.stateNode===null)throw Error(l(162));s=e.memoizedProps,n=e.stateNode;try{n.nodeValue=s}catch(F){Oe(e,e.return,F)}}break;case 3:if(qo=null,r=qt,qt=Po(t.containerInfo),_t(t,e),qt=r,mt(e),s&4&&n!==null&&n.memoizedState.isDehydrated)try{ua(t.containerInfo)}catch(F){Oe(e,e.return,F)}pu&&(pu=!1,gp(e));break;case 4:s=qt,qt=Po(e.stateNode.containerInfo),_t(t,e),mt(e),qt=s;break;case 12:_t(t,e),mt(e);break;case 31:_t(t,e),mt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Oo(e,s)));break;case 13:_t(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(ko=vt()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Oo(e,s)));break;case 22:r=e.memoizedState!==null;var S=n!==null&&n.memoizedState!==null,C=_n,D=$e;if(_n=C||r,$e=D||S,_t(t,e),$e=D,_n=C,mt(e),s&8192)e:for(t=e.stateNode,t._visibility=r?t._visibility&-2:t._visibility|1,r&&(n===null||S||_n||$e||mi(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){S=n=t;try{if(c=S.stateNode,r)p=c.style,typeof p.setProperty=="function"?p.setProperty("display","none","important"):p.display="none";else{y=S.stateNode;var j=S.memoizedProps.style,k=j!=null&&j.hasOwnProperty("display")?j.display:null;y.style.display=k==null||typeof k=="boolean"?"":(""+k).trim()}}catch(F){Oe(S,S.return,F)}}}else if(t.tag===6){if(n===null){S=t;try{S.stateNode.nodeValue=r?"":S.memoizedProps}catch(F){Oe(S,S.return,F)}}}else if(t.tag===18){if(n===null){S=t;try{var M=S.stateNode;r?o_(M,!0):o_(S.stateNode,!1)}catch(F){Oe(S,S.return,F)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}s&4&&(s=e.updateQueue,s!==null&&(n=s.retryQueue,n!==null&&(s.retryQueue=null,Oo(e,n))));break;case 19:_t(t,e),mt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Oo(e,s)));break;case 30:break;case 21:break;default:_t(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,s=e.return;s!==null;){if(rp(s)){n=s;break}s=s.return}if(n==null)throw Error(l(160));switch(n.tag){case 27:var r=n.stateNode,c=fu(e);Eo(e,c,r);break;case 5:var p=n.stateNode;n.flags&32&&(Di(p,""),n.flags&=-33);var y=fu(e);Eo(e,y,p);break;case 3:case 4:var S=n.stateNode.containerInfo,C=fu(e);hu(e,C,S);break;default:throw Error(l(161))}}catch(D){Oe(e,e.return,D)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function gp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;gp(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function gn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)dp(e,t.alternate,t),t=t.sibling}function mi(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Nn(4,t,t.return),mi(t);break;case 1:Qt(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&op(t,t.return,n),mi(t);break;case 27:ls(t.stateNode);case 26:case 5:Qt(t,t.return),mi(t);break;case 22:t.memoizedState===null&&mi(t);break;case 30:mi(t);break;default:mi(t)}e=e.sibling}}function yn(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var s=t.alternate,r=e,c=t,p=c.flags;switch(c.tag){case 0:case 11:case 15:yn(r,c,n),Za(4,c);break;case 1:if(yn(r,c,n),s=c,r=s.stateNode,typeof r.componentDidMount=="function")try{r.componentDidMount()}catch(C){Oe(s,s.return,C)}if(s=c,r=s.updateQueue,r!==null){var y=s.stateNode;try{var S=r.shared.hiddenCallbacks;if(S!==null)for(r.shared.hiddenCallbacks=null,r=0;r<S.length;r++)Xf(S[r],y)}catch(C){Oe(s,s.return,C)}}n&&p&64&&sp(c),Wa(c,c.return);break;case 27:up(c);case 26:case 5:yn(r,c,n),n&&s===null&&p&4&&lp(c),Wa(c,c.return);break;case 12:yn(r,c,n);break;case 31:yn(r,c,n),n&&p&4&&pp(r,c);break;case 13:yn(r,c,n),n&&p&4&&_p(r,c);break;case 22:c.memoizedState===null&&yn(r,c,n),Wa(c,c.return);break;case 30:break;default:yn(r,c,n)}t=t.sibling}}function _u(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Ba(n))}function mu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ba(e))}function Yt(e,t,n,s){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)yp(e,t,n,s),t=t.sibling}function yp(e,t,n,s){var r=t.flags;switch(t.tag){case 0:case 11:case 15:Yt(e,t,n,s),r&2048&&Za(9,t);break;case 1:Yt(e,t,n,s);break;case 3:Yt(e,t,n,s),r&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ba(e)));break;case 12:if(r&2048){Yt(e,t,n,s),e=t.stateNode;try{var c=t.memoizedProps,p=c.id,y=c.onPostCommit;typeof y=="function"&&y(p,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(S){Oe(t,t.return,S)}}else Yt(e,t,n,s);break;case 31:Yt(e,t,n,s);break;case 13:Yt(e,t,n,s);break;case 23:break;case 22:c=t.stateNode,p=t.alternate,t.memoizedState!==null?c._visibility&2?Yt(e,t,n,s):Ja(e,t):c._visibility&2?Yt(e,t,n,s):(c._visibility|=2,Wi(e,t,n,s,(t.subtreeFlags&10256)!==0||!1)),r&2048&&_u(p,t);break;case 24:Yt(e,t,n,s),r&2048&&mu(t.alternate,t);break;default:Yt(e,t,n,s)}}function Wi(e,t,n,s,r){for(r=r&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,p=t,y=n,S=s,C=p.flags;switch(p.tag){case 0:case 11:case 15:Wi(c,p,y,S,r),Za(8,p);break;case 23:break;case 22:var D=p.stateNode;p.memoizedState!==null?D._visibility&2?Wi(c,p,y,S,r):Ja(c,p):(D._visibility|=2,Wi(c,p,y,S,r)),r&&C&2048&&_u(p.alternate,p);break;case 24:Wi(c,p,y,S,r),r&&C&2048&&mu(p.alternate,p);break;default:Wi(c,p,y,S,r)}t=t.sibling}}function Ja(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,s=t,r=s.flags;switch(s.tag){case 22:Ja(n,s),r&2048&&_u(s.alternate,s);break;case 24:Ja(n,s),r&2048&&mu(s.alternate,s);break;default:Ja(n,s)}t=t.sibling}}var es=8192;function Ji(e,t,n){if(e.subtreeFlags&es)for(e=e.child;e!==null;)vp(e,t,n),e=e.sibling}function vp(e,t,n){switch(e.tag){case 26:Ji(e,t,n),e.flags&es&&e.memoizedState!==null&&cw(n,qt,e.memoizedState,e.memoizedProps);break;case 5:Ji(e,t,n);break;case 3:case 4:var s=qt;qt=Po(e.stateNode.containerInfo),Ji(e,t,n),qt=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=es,es=16777216,Ji(e,t,n),es=s):Ji(e,t,n));break;default:Ji(e,t,n)}}function bp(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ts(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var s=t[n];We=s,Tp(s,e)}bp(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Sp(e),e=e.sibling}function Sp(e){switch(e.tag){case 0:case 11:case 15:ts(e),e.flags&2048&&Nn(9,e,e.return);break;case 3:ts(e);break;case 12:ts(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Co(e)):ts(e);break;default:ts(e)}}function Co(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var s=t[n];We=s,Tp(s,e)}bp(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Nn(8,t,t.return),Co(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Co(t));break;default:Co(t)}e=e.sibling}}function Tp(e,t){for(;We!==null;){var n=We;switch(n.tag){case 0:case 11:case 15:Nn(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var s=n.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:Ba(n.memoizedState.cache)}if(s=n.child,s!==null)s.return=n,We=s;else e:for(n=e;We!==null;){s=We;var r=s.sibling,c=s.return;if(fp(s),s===n){We=null;break e}if(r!==null){r.return=c,We=r;break e}We=c}}}var wx={getCacheForType:function(e){var t=tt(Ye),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return tt(Ye).controller.signal}},Ex=typeof WeakMap=="function"?WeakMap:Map,Ae=0,Me=null,he=null,_e=0,Ee=0,Et=null,jn=!1,ea=!1,gu=!1,vn=0,Ue=0,Vn=0,gi=0,yu=0,Ot=0,ta=0,ns=null,gt=null,vu=!1,ko=0,Ap=0,Ro=1/0,Mo=null,Bn=null,Fe=0,Un=null,na=null,bn=0,bu=0,Su=null,xp=null,is=0,Tu=null;function Ct(){return(Ae&2)!==0&&_e!==0?_e&-_e:R.T!==null?Cu():Ud()}function wp(){if(Ot===0)if((_e&536870912)===0||ge){var e=Bs;Bs<<=1,(Bs&3932160)===0&&(Bs=262144),Ot=e}else Ot=536870912;return e=xt.current,e!==null&&(e.flags|=32),Ot}function yt(e,t,n){(e===Me&&(Ee===2||Ee===9)||e.cancelPendingCommit!==null)&&(ia(e,0),Hn(e,_e,Ot,!1)),xa(e,n),((Ae&2)===0||e!==Me)&&(e===Me&&((Ae&2)===0&&(gi|=n),Ue===4&&Hn(e,_e,Ot,!1)),Zt(e))}function Ep(e,t,n){if((Ae&6)!==0)throw Error(l(327));var s=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Aa(e,t),r=s?kx(e,t):xu(e,t,!0),c=s;do{if(r===0){ea&&!s&&Hn(e,t,0,!1);break}else{if(n=e.current.alternate,c&&!Ox(n)){r=xu(e,t,!1),c=!1;continue}if(r===2){if(c=t,e.errorRecoveryDisabledLanes&c)var p=0;else p=e.pendingLanes&-536870913,p=p!==0?p:p&536870912?536870912:0;if(p!==0){t=p;e:{var y=e;r=ns;var S=y.current.memoizedState.isDehydrated;if(S&&(ia(y,p).flags|=256),p=xu(y,p,!1),p!==2){if(gu&&!S){y.errorRecoveryDisabledLanes|=c,gi|=c,r=4;break e}c=gt,gt=r,c!==null&&(gt===null?gt=c:gt.push.apply(gt,c))}r=p}if(c=!1,r!==2)continue}}if(r===1){ia(e,0),Hn(e,t,0,!0);break}e:{switch(s=e,c=r,c){case 0:case 1:throw Error(l(345));case 4:if((t&4194048)!==t)break;case 6:Hn(s,t,Ot,!jn);break e;case 2:gt=null;break;case 3:case 5:break;default:throw Error(l(329))}if((t&62914560)===t&&(r=ko+300-vt(),10<r)){if(Hn(s,t,Ot,!jn),Hs(s,0,!0)!==0)break e;bn=t,s.timeoutHandle=i_(Op.bind(null,s,n,gt,Mo,vu,t,Ot,gi,ta,jn,c,"Throttled",-0,0),r);break e}Op(s,n,gt,Mo,vu,t,Ot,gi,ta,jn,c,null,-0,0)}}break}while(!0);Zt(e)}function Op(e,t,n,s,r,c,p,y,S,C,D,j,k,M){if(e.timeoutHandle=-1,j=t.subtreeFlags,j&8192||(j&16785408)===16785408){j={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:sn},vp(t,c,j);var F=(c&62914560)===c?ko-vt():(c&4194048)===c?Ap-vt():0;if(F=dw(j,F),F!==null){bn=c,e.cancelPendingCommit=F(Np.bind(null,e,t,c,n,s,r,p,y,S,D,j,null,k,M)),Hn(e,c,p,!C);return}}Np(e,t,c,n,s,r,p,y,S)}function Ox(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var s=0;s<n.length;s++){var r=n[s],c=r.getSnapshot;r=r.value;try{if(!Tt(c(),r))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Hn(e,t,n,s){t&=~yu,t&=~gi,e.suspendedLanes|=t,e.pingedLanes&=~t,s&&(e.warmLanes|=t),s=e.expirationTimes;for(var r=t;0<r;){var c=31-St(r),p=1<<c;s[c]=-1,r&=~p}n!==0&&jd(e,n,t)}function Do(){return(Ae&6)===0?(as(0),!1):!0}function Au(){if(he!==null){if(Ee===0)var e=he.return;else e=he,un=ri=null,Ur(e),$i=null,Ha=0,e=he;for(;e!==null;)ap(e.alternate,e),e=e.return;he=null}}function ia(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,$x(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),bn=0,Au(),Me=e,he=n=ln(e.current,null),_e=t,Ee=0,Et=null,jn=!1,ea=Aa(e,t),gu=!1,ta=Ot=yu=gi=Vn=Ue=0,gt=ns=null,vu=!1,(t&8)!==0&&(t|=t&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=t;0<s;){var r=31-St(s),c=1<<r;t|=e[r],s&=~c}return vn=t,Ws(),n}function Cp(e,t){re=null,R.H=Xa,t===Ii||t===oo?(t=Yf(),Ee=3):t===Or?(t=Yf(),Ee=4):Ee=t===tu?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Et=t,he===null&&(Ue=1,So(e,Lt(t,e.current)))}function kp(){var e=xt.current;return e===null?!0:(_e&4194048)===_e?Vt===null:(_e&62914560)===_e||(_e&536870912)!==0?e===Vt:!1}function Rp(){var e=R.H;return R.H=Xa,e===null?Xa:e}function Mp(){var e=R.A;return R.A=wx,e}function Lo(){Ue=4,jn||(_e&4194048)!==_e&&xt.current!==null||(ea=!0),(Vn&134217727)===0&&(gi&134217727)===0||Me===null||Hn(Me,_e,Ot,!1)}function xu(e,t,n){var s=Ae;Ae|=2;var r=Rp(),c=Mp();(Me!==e||_e!==t)&&(Mo=null,ia(e,t)),t=!1;var p=Ue;e:do try{if(Ee!==0&&he!==null){var y=he,S=Et;switch(Ee){case 8:Au(),p=6;break e;case 3:case 2:case 9:case 6:xt.current===null&&(t=!0);var C=Ee;if(Ee=0,Et=null,aa(e,y,S,C),n&&ea){p=0;break e}break;default:C=Ee,Ee=0,Et=null,aa(e,y,S,C)}}Cx(),p=Ue;break}catch(D){Cp(e,D)}while(!0);return t&&e.shellSuspendCounter++,un=ri=null,Ae=s,R.H=r,R.A=c,he===null&&(Me=null,_e=0,Ws()),p}function Cx(){for(;he!==null;)Dp(he)}function kx(e,t){var n=Ae;Ae|=2;var s=Rp(),r=Mp();Me!==e||_e!==t?(Mo=null,Ro=vt()+500,ia(e,t)):ea=Aa(e,t);e:do try{if(Ee!==0&&he!==null){t=he;var c=Et;t:switch(Ee){case 1:Ee=0,Et=null,aa(e,t,c,1);break;case 2:case 9:if(Kf(c)){Ee=0,Et=null,Lp(t);break}t=function(){Ee!==2&&Ee!==9||Me!==e||(Ee=7),Zt(e)},c.then(t,t);break e;case 3:Ee=7;break e;case 4:Ee=5;break e;case 7:Kf(c)?(Ee=0,Et=null,Lp(t)):(Ee=0,Et=null,aa(e,t,c,7));break;case 5:var p=null;switch(he.tag){case 26:p=he.memoizedState;case 5:case 27:var y=he;if(p?y_(p):y.stateNode.complete){Ee=0,Et=null;var S=y.sibling;if(S!==null)he=S;else{var C=y.return;C!==null?(he=C,zo(C)):he=null}break t}}Ee=0,Et=null,aa(e,t,c,5);break;case 6:Ee=0,Et=null,aa(e,t,c,6);break;case 8:Au(),Ue=6;break e;default:throw Error(l(462))}}Rx();break}catch(D){Cp(e,D)}while(!0);return un=ri=null,R.H=s,R.A=r,Ae=n,he!==null?0:(Me=null,_e=0,Ws(),Ue)}function Rx(){for(;he!==null&&!JT();)Dp(he)}function Dp(e){var t=np(e.alternate,e,vn);e.memoizedProps=e.pendingProps,t===null?zo(e):he=t}function Lp(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Qh(n,t,t.pendingProps,t.type,void 0,_e);break;case 11:t=Qh(n,t,t.pendingProps,t.type.render,t.ref,_e);break;case 5:Ur(t);default:ap(n,t),t=he=Mf(t,vn),t=np(n,t,vn)}e.memoizedProps=e.pendingProps,t===null?zo(e):he=t}function aa(e,t,n,s){un=ri=null,Ur(t),$i=null,Ha=0;var r=t.return;try{if(yx(e,r,t,n,_e)){Ue=1,So(e,Lt(n,e.current)),he=null;return}}catch(c){if(r!==null)throw he=r,c;Ue=1,So(e,Lt(n,e.current)),he=null;return}t.flags&32768?(ge||s===1?e=!0:ea||(_e&536870912)!==0?e=!1:(jn=e=!0,(s===2||s===9||s===3||s===6)&&(s=xt.current,s!==null&&s.tag===13&&(s.flags|=16384))),zp(t,e)):zo(t)}function zo(e){var t=e;do{if((t.flags&32768)!==0){zp(t,jn);return}e=t.return;var n=Sx(t.alternate,t,vn);if(n!==null){he=n;return}if(t=t.sibling,t!==null){he=t;return}he=t=e}while(t!==null);Ue===0&&(Ue=5)}function zp(e,t){do{var n=Tx(e.alternate,e);if(n!==null){n.flags&=32767,he=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){he=e;return}he=e=n}while(e!==null);Ue=6,he=null}function Np(e,t,n,s,r,c,p,y,S){e.cancelPendingCommit=null;do No();while(Fe!==0);if((Ae&6)!==0)throw Error(l(327));if(t!==null){if(t===e.current)throw Error(l(177));if(c=t.lanes|t.childLanes,c|=fr,uA(e,n,c,p,y,S),e===Me&&(he=Me=null,_e=0),na=t,Un=e,bn=n,bu=c,Su=r,xp=s,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,zx(js,function(){return Hp(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||s){s=R.T,R.T=null,r=K.p,K.p=2,p=Ae,Ae|=4;try{Ax(e,t,n)}finally{Ae=p,K.p=r,R.T=s}}Fe=1,jp(),Vp(),Bp()}}function jp(){if(Fe===1){Fe=0;var e=Un,t=na,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=R.T,R.T=null;var s=K.p;K.p=2;var r=Ae;Ae|=4;try{mp(t,e);var c=ju,p=Tf(e.containerInfo),y=c.focusedElem,S=c.selectionRange;if(p!==y&&y&&y.ownerDocument&&Sf(y.ownerDocument.documentElement,y)){if(S!==null&&lr(y)){var C=S.start,D=S.end;if(D===void 0&&(D=C),"selectionStart"in y)y.selectionStart=C,y.selectionEnd=Math.min(D,y.value.length);else{var j=y.ownerDocument||document,k=j&&j.defaultView||window;if(k.getSelection){var M=k.getSelection(),F=y.textContent.length,ne=Math.min(S.start,F),Re=S.end===void 0?ne:Math.min(S.end,F);!M.extend&&ne>Re&&(p=Re,Re=ne,ne=p);var E=bf(y,ne),A=bf(y,Re);if(E&&A&&(M.rangeCount!==1||M.anchorNode!==E.node||M.anchorOffset!==E.offset||M.focusNode!==A.node||M.focusOffset!==A.offset)){var O=j.createRange();O.setStart(E.node,E.offset),M.removeAllRanges(),ne>Re?(M.addRange(O),M.extend(A.node,A.offset)):(O.setEnd(A.node,A.offset),M.addRange(O))}}}}for(j=[],M=y;M=M.parentNode;)M.nodeType===1&&j.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;y<j.length;y++){var N=j[y];N.element.scrollLeft=N.left,N.element.scrollTop=N.top}}$o=!!Nu,ju=Nu=null}finally{Ae=r,K.p=s,R.T=n}}e.current=t,Fe=2}}function Vp(){if(Fe===2){Fe=0;var e=Un,t=na,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=R.T,R.T=null;var s=K.p;K.p=2;var r=Ae;Ae|=4;try{dp(e,t.alternate,t)}finally{Ae=r,K.p=s,R.T=n}}Fe=3}}function Bp(){if(Fe===4||Fe===3){Fe=0,eA();var e=Un,t=na,n=bn,s=xp;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Fe=5:(Fe=0,na=Un=null,Up(e,e.pendingLanes));var r=e.pendingLanes;if(r===0&&(Bn=null),Kl(n),t=t.stateNode,bt&&typeof bt.onCommitFiberRoot=="function")try{bt.onCommitFiberRoot(Ta,t,void 0,(t.current.flags&128)===128)}catch{}if(s!==null){t=R.T,r=K.p,K.p=2,R.T=null;try{for(var c=e.onRecoverableError,p=0;p<s.length;p++){var y=s[p];c(y.value,{componentStack:y.stack})}}finally{R.T=t,K.p=r}}(bn&3)!==0&&No(),Zt(e),r=e.pendingLanes,(n&261930)!==0&&(r&42)!==0?e===Tu?is++:(is=0,Tu=e):is=0,as(0)}}function Up(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ba(t)))}function No(){return jp(),Vp(),Bp(),Hp()}function Hp(){if(Fe!==5)return!1;var e=Un,t=bu;bu=0;var n=Kl(bn),s=R.T,r=K.p;try{K.p=32>n?32:n,R.T=null,n=Su,Su=null;var c=Un,p=bn;if(Fe=0,na=Un=null,bn=0,(Ae&6)!==0)throw Error(l(331));var y=Ae;if(Ae|=4,Sp(c.current),yp(c,c.current,p,n),Ae=y,as(0,!1),bt&&typeof bt.onPostCommitFiberRoot=="function")try{bt.onPostCommitFiberRoot(Ta,c)}catch{}return!0}finally{K.p=r,R.T=s,Up(e,t)}}function Pp(e,t,n){t=Lt(n,t),t=eu(e.stateNode,t,2),e=Dn(e,t,2),e!==null&&(xa(e,2),Zt(e))}function Oe(e,t,n){if(e.tag===3)Pp(e,e,n);else for(;t!==null;){if(t.tag===3){Pp(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Bn===null||!Bn.has(s))){e=Lt(n,e),n=Kh(2),s=Dn(t,n,2),s!==null&&(qh(n,s,t,e),xa(s,2),Zt(s));break}}t=t.return}}function wu(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new Ex;var r=new Set;s.set(t,r)}else r=s.get(t),r===void 0&&(r=new Set,s.set(t,r));r.has(n)||(gu=!0,r.add(n),e=Mx.bind(null,e,t,n),t.then(e,e))}function Mx(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Me===e&&(_e&n)===n&&(Ue===4||Ue===3&&(_e&62914560)===_e&&300>vt()-ko?(Ae&2)===0&&ia(e,0):yu|=n,ta===_e&&(ta=0)),Zt(e)}function Kp(e,t){t===0&&(t=Nd()),e=si(e,t),e!==null&&(xa(e,t),Zt(e))}function Dx(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Kp(e,n)}function Lx(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(l(314))}s!==null&&s.delete(t),Kp(e,n)}function zx(e,t){return Bl(e,t)}var jo=null,sa=null,Eu=!1,Vo=!1,Ou=!1,Pn=0;function Zt(e){e!==sa&&e.next===null&&(sa===null?jo=sa=e:sa=sa.next=e),Vo=!0,Eu||(Eu=!0,jx())}function as(e,t){if(!Ou&&Vo){Ou=!0;do for(var n=!1,s=jo;s!==null;){if(e!==0){var r=s.pendingLanes;if(r===0)var c=0;else{var p=s.suspendedLanes,y=s.pingedLanes;c=(1<<31-St(42|e)+1)-1,c&=r&~(p&~y),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,Ip(s,c))}else c=_e,c=Hs(s,s===Me?c:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(c&3)===0||Aa(s,c)||(n=!0,Ip(s,c));s=s.next}while(n);Ou=!1}}function Nx(){qp()}function qp(){Vo=Eu=!1;var e=0;Pn!==0&&Ix()&&(e=Pn);for(var t=vt(),n=null,s=jo;s!==null;){var r=s.next,c=Yp(s,t);c===0?(s.next=null,n===null?jo=r:n.next=r,r===null&&(sa=n)):(n=s,(e!==0||(c&3)!==0)&&(Vo=!0)),s=r}Fe!==0&&Fe!==5||as(e),Pn!==0&&(Pn=0)}function Yp(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,r=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var p=31-St(c),y=1<<p,S=r[p];S===-1?((y&n)===0||(y&s)!==0)&&(r[p]=rA(y,t)):S<=t&&(e.expiredLanes|=y),c&=~y}if(t=Me,n=_e,n=Hs(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,n===0||e===t&&(Ee===2||Ee===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&Ul(s),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Aa(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(s!==null&&Ul(s),Kl(n)){case 2:case 8:n=Ld;break;case 32:n=js;break;case 268435456:n=zd;break;default:n=js}return s=Gp.bind(null,e),n=Bl(n,s),e.callbackPriority=t,e.callbackNode=n,t}return s!==null&&s!==null&&Ul(s),e.callbackPriority=2,e.callbackNode=null,2}function Gp(e,t){if(Fe!==0&&Fe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(No()&&e.callbackNode!==n)return null;var s=_e;return s=Hs(e,e===Me?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(Ep(e,s,t),Yp(e,vt()),e.callbackNode!=null&&e.callbackNode===n?Gp.bind(null,e):null)}function Ip(e,t){if(No())return null;Ep(e,t,!0)}function jx(){Xx(function(){(Ae&6)!==0?Bl(Dd,Nx):qp()})}function Cu(){if(Pn===0){var e=Yi;e===0&&(e=Vs,Vs<<=1,(Vs&261888)===0&&(Vs=256)),Pn=e}return Pn}function $p(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ys(""+e)}function Xp(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Vx(e,t,n,s,r){if(t==="submit"&&n&&n.stateNode===r){var c=$p((r[ft]||null).action),p=s.submitter;p&&(t=(t=p[ft]||null)?$p(t.formAction):p.getAttribute("formAction"),t!==null&&(c=t,p=null));var y=new Xs("action","action",null,s,r);e.push({event:y,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(Pn!==0){var S=p?Xp(r,p):new FormData(r);Xr(n,{pending:!0,data:S,method:r.method,action:c},null,S)}}else typeof c=="function"&&(y.preventDefault(),S=p?Xp(r,p):new FormData(r),Xr(n,{pending:!0,data:S,method:r.method,action:c},c,S))},currentTarget:r}]})}}for(var ku=0;ku<dr.length;ku++){var Ru=dr[ku],Bx=Ru.toLowerCase(),Ux=Ru[0].toUpperCase()+Ru.slice(1);Kt(Bx,"on"+Ux)}Kt(wf,"onAnimationEnd"),Kt(Ef,"onAnimationIteration"),Kt(Of,"onAnimationStart"),Kt("dblclick","onDoubleClick"),Kt("focusin","onFocus"),Kt("focusout","onBlur"),Kt(tx,"onTransitionRun"),Kt(nx,"onTransitionStart"),Kt(ix,"onTransitionCancel"),Kt(Cf,"onTransitionEnd"),Ri("onMouseEnter",["mouseout","mouseover"]),Ri("onMouseLeave",["mouseout","mouseover"]),Ri("onPointerEnter",["pointerout","pointerover"]),Ri("onPointerLeave",["pointerout","pointerover"]),ti("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ti("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ti("onBeforeInput",["compositionend","keypress","textInput","paste"]),ti("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ti("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ti("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ss="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Hx=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ss));function Fp(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var s=e[n],r=s.event;s=s.listeners;e:{var c=void 0;if(t)for(var p=s.length-1;0<=p;p--){var y=s[p],S=y.instance,C=y.currentTarget;if(y=y.listener,S!==c&&r.isPropagationStopped())break e;c=y,r.currentTarget=C;try{c(r)}catch(D){Zs(D)}r.currentTarget=null,c=S}else for(p=0;p<s.length;p++){if(y=s[p],S=y.instance,C=y.currentTarget,y=y.listener,S!==c&&r.isPropagationStopped())break e;c=y,r.currentTarget=C;try{c(r)}catch(D){Zs(D)}r.currentTarget=null,c=S}}}}function pe(e,t){var n=t[ql];n===void 0&&(n=t[ql]=new Set);var s=e+"__bubble";n.has(s)||(Qp(t,e,2,!1),n.add(s))}function Mu(e,t,n){var s=0;t&&(s|=4),Qp(n,e,s,t)}var Bo="_reactListening"+Math.random().toString(36).slice(2);function Du(e){if(!e[Bo]){e[Bo]=!0,Kd.forEach(function(n){n!=="selectionchange"&&(Hx.has(n)||Mu(n,!1,e),Mu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Bo]||(t[Bo]=!0,Mu("selectionchange",!1,t))}}function Qp(e,t,n,s){switch(w_(t)){case 2:var r=pw;break;case 8:r=_w;break;default:r=$u}n=r.bind(null,t,n,e),r=void 0,!Wl||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),s?r!==void 0?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):r!==void 0?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Lu(e,t,n,s,r){var c=s;if((t&1)===0&&(t&2)===0&&s!==null)e:for(;;){if(s===null)return;var p=s.tag;if(p===3||p===4){var y=s.stateNode.containerInfo;if(y===r)break;if(p===4)for(p=s.return;p!==null;){var S=p.tag;if((S===3||S===4)&&p.stateNode.containerInfo===r)return;p=p.return}for(;y!==null;){if(p=Oi(y),p===null)return;if(S=p.tag,S===5||S===6||S===26||S===27){s=c=p;continue e}y=y.parentNode}}s=s.return}ef(function(){var C=c,D=Ql(n),j=[];e:{var k=kf.get(e);if(k!==void 0){var M=Xs,F=e;switch(e){case"keypress":if(Is(n)===0)break e;case"keydown":case"keyup":M=LA;break;case"focusin":F="focus",M=nr;break;case"focusout":F="blur",M=nr;break;case"beforeblur":case"afterblur":M=nr;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":M=af;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":M=SA;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":M=jA;break;case wf:case Ef:case Of:M=xA;break;case Cf:M=BA;break;case"scroll":case"scrollend":M=vA;break;case"wheel":M=HA;break;case"copy":case"cut":case"paste":M=EA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":M=of;break;case"toggle":case"beforetoggle":M=KA}var ne=(t&4)!==0,Re=!ne&&(e==="scroll"||e==="scrollend"),E=ne?k!==null?k+"Capture":null:k;ne=[];for(var A=C,O;A!==null;){var N=A;if(O=N.stateNode,N=N.tag,N!==5&&N!==26&&N!==27||O===null||E===null||(N=Oa(A,E),N!=null&&ne.push(os(A,N,O))),Re)break;A=A.return}0<ne.length&&(k=new M(k,F,null,n,D),j.push({event:k,listeners:ne}))}}if((t&7)===0){e:{if(k=e==="mouseover"||e==="pointerover",M=e==="mouseout"||e==="pointerout",k&&n!==Fl&&(F=n.relatedTarget||n.fromElement)&&(Oi(F)||F[Ei]))break e;if((M||k)&&(k=D.window===D?D:(k=D.ownerDocument)?k.defaultView||k.parentWindow:window,M?(F=n.relatedTarget||n.toElement,M=C,F=F?Oi(F):null,F!==null&&(Re=d(F),ne=F.tag,F!==Re||ne!==5&&ne!==27&&ne!==6)&&(F=null)):(M=null,F=C),M!==F)){if(ne=af,N="onMouseLeave",E="onMouseEnter",A="mouse",(e==="pointerout"||e==="pointerover")&&(ne=of,N="onPointerLeave",E="onPointerEnter",A="pointer"),Re=M==null?k:Ea(M),O=F==null?k:Ea(F),k=new ne(N,A+"leave",M,n,D),k.target=Re,k.relatedTarget=O,N=null,Oi(D)===C&&(ne=new ne(E,A+"enter",F,n,D),ne.target=O,ne.relatedTarget=Re,N=ne),Re=N,M&&F)t:{for(ne=Px,E=M,A=F,O=0,N=E;N;N=ne(N))O++;N=0;for(var te=A;te;te=ne(te))N++;for(;0<O-N;)E=ne(E),O--;for(;0<N-O;)A=ne(A),N--;for(;O--;){if(E===A||A!==null&&E===A.alternate){ne=E;break t}E=ne(E),A=ne(A)}ne=null}else ne=null;M!==null&&Zp(j,k,M,ne,!1),F!==null&&Re!==null&&Zp(j,Re,F,ne,!0)}}e:{if(k=C?Ea(C):window,M=k.nodeName&&k.nodeName.toLowerCase(),M==="select"||M==="input"&&k.type==="file")var Se=pf;else if(ff(k))if(_f)Se=WA;else{Se=QA;var J=FA}else M=k.nodeName,!M||M.toLowerCase()!=="input"||k.type!=="checkbox"&&k.type!=="radio"?C&&Xl(C.elementType)&&(Se=pf):Se=ZA;if(Se&&(Se=Se(e,C))){hf(j,Se,n,D);break e}J&&J(e,k,C),e==="focusout"&&C&&k.type==="number"&&C.memoizedProps.value!=null&&$l(k,"number",k.value)}switch(J=C?Ea(C):window,e){case"focusin":(ff(J)||J.contentEditable==="true")&&(ji=J,rr=C,Na=null);break;case"focusout":Na=rr=ji=null;break;case"mousedown":ur=!0;break;case"contextmenu":case"mouseup":case"dragend":ur=!1,Af(j,n,D);break;case"selectionchange":if(ex)break;case"keydown":case"keyup":Af(j,n,D)}var ue;if(ar)e:{switch(e){case"compositionstart":var me="onCompositionStart";break e;case"compositionend":me="onCompositionEnd";break e;case"compositionupdate":me="onCompositionUpdate";break e}me=void 0}else Ni?cf(e,n)&&(me="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(me="onCompositionStart");me&&(lf&&n.locale!=="ko"&&(Ni||me!=="onCompositionStart"?me==="onCompositionEnd"&&Ni&&(ue=tf()):(wn=D,Jl="value"in wn?wn.value:wn.textContent,Ni=!0)),J=Uo(C,me),0<J.length&&(me=new sf(me,e,null,n,D),j.push({event:me,listeners:J}),ue?me.data=ue:(ue=df(n),ue!==null&&(me.data=ue)))),(ue=YA?GA(e,n):IA(e,n))&&(me=Uo(C,"onBeforeInput"),0<me.length&&(J=new sf("onBeforeInput","beforeinput",null,n,D),j.push({event:J,listeners:me}),J.data=ue)),Vx(j,e,C,n,D)}Fp(j,t)})}function os(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Uo(e,t){for(var n=t+"Capture",s=[];e!==null;){var r=e,c=r.stateNode;if(r=r.tag,r!==5&&r!==26&&r!==27||c===null||(r=Oa(e,n),r!=null&&s.unshift(os(e,r,c)),r=Oa(e,t),r!=null&&s.push(os(e,r,c))),e.tag===3)return s;e=e.return}return[]}function Px(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Zp(e,t,n,s,r){for(var c=t._reactName,p=[];n!==null&&n!==s;){var y=n,S=y.alternate,C=y.stateNode;if(y=y.tag,S!==null&&S===s)break;y!==5&&y!==26&&y!==27||C===null||(S=C,r?(C=Oa(n,c),C!=null&&p.unshift(os(n,C,S))):r||(C=Oa(n,c),C!=null&&p.push(os(n,C,S)))),n=n.return}p.length!==0&&e.push({event:t,listeners:p})}var Kx=/\r\n?/g,qx=/\u0000|\uFFFD/g;function Wp(e){return(typeof e=="string"?e:""+e).replace(Kx,`
9
+ `).replace(qx,"")}function Jp(e,t){return t=Wp(t),Wp(e)===t}function ke(e,t,n,s,r,c){switch(n){case"children":typeof s=="string"?t==="body"||t==="textarea"&&s===""||Di(e,s):(typeof s=="number"||typeof s=="bigint")&&t!=="body"&&Di(e,""+s);break;case"className":Ks(e,"class",s);break;case"tabIndex":Ks(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":Ks(e,n,s);break;case"style":Wd(e,s,c);break;case"data":if(t!=="object"){Ks(e,"data",s);break}case"src":case"href":if(s===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(n);break}s=Ys(""+s),e.setAttribute(n,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof c=="function"&&(n==="formAction"?(t!=="input"&&ke(e,t,"name",r.name,r,null),ke(e,t,"formEncType",r.formEncType,r,null),ke(e,t,"formMethod",r.formMethod,r,null),ke(e,t,"formTarget",r.formTarget,r,null)):(ke(e,t,"encType",r.encType,r,null),ke(e,t,"method",r.method,r,null),ke(e,t,"target",r.target,r,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(n);break}s=Ys(""+s),e.setAttribute(n,s);break;case"onClick":s!=null&&(e.onclick=sn);break;case"onScroll":s!=null&&pe("scroll",e);break;case"onScrollEnd":s!=null&&pe("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(n=s.__html,n!=null){if(r.children!=null)throw Error(l(60));e.innerHTML=n}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}n=Ys(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(n,""+s):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":s===!0?e.setAttribute(n,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(n,s):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(n,s):e.removeAttribute(n);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(n):e.setAttribute(n,s);break;case"popover":pe("beforetoggle",e),pe("toggle",e),Ps(e,"popover",s);break;case"xlinkActuate":an(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":an(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":an(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":an(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":an(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":an(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":an(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":an(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":an(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":Ps(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=gA.get(n)||n,Ps(e,n,s))}}function zu(e,t,n,s,r,c){switch(n){case"style":Wd(e,s,c);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(n=s.__html,n!=null){if(r.children!=null)throw Error(l(60));e.innerHTML=n}}break;case"children":typeof s=="string"?Di(e,s):(typeof s=="number"||typeof s=="bigint")&&Di(e,""+s);break;case"onScroll":s!=null&&pe("scroll",e);break;case"onScrollEnd":s!=null&&pe("scrollend",e);break;case"onClick":s!=null&&(e.onclick=sn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!qd.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(r=n.endsWith("Capture"),t=n.slice(2,r?n.length-7:void 0),c=e[ft]||null,c=c!=null?c[n]:null,typeof c=="function"&&e.removeEventListener(t,c,r),typeof s=="function")){typeof c!="function"&&c!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,s,r);break e}n in e?e[n]=s:s===!0?e.setAttribute(n,""):Ps(e,n,s)}}}function it(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":pe("error",e),pe("load",e);var s=!1,r=!1,c;for(c in n)if(n.hasOwnProperty(c)){var p=n[c];if(p!=null)switch(c){case"src":s=!0;break;case"srcSet":r=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:ke(e,t,c,p,n,null)}}r&&ke(e,t,"srcSet",n.srcSet,n,null),s&&ke(e,t,"src",n.src,n,null);return;case"input":pe("invalid",e);var y=c=p=r=null,S=null,C=null;for(s in n)if(n.hasOwnProperty(s)){var D=n[s];if(D!=null)switch(s){case"name":r=D;break;case"type":p=D;break;case"checked":S=D;break;case"defaultChecked":C=D;break;case"value":c=D;break;case"defaultValue":y=D;break;case"children":case"dangerouslySetInnerHTML":if(D!=null)throw Error(l(137,t));break;default:ke(e,t,s,D,n,null)}}Xd(e,c,y,S,C,p,r,!1);return;case"select":pe("invalid",e),s=p=c=null;for(r in n)if(n.hasOwnProperty(r)&&(y=n[r],y!=null))switch(r){case"value":c=y;break;case"defaultValue":p=y;break;case"multiple":s=y;default:ke(e,t,r,y,n,null)}t=c,n=p,e.multiple=!!s,t!=null?Mi(e,!!s,t,!1):n!=null&&Mi(e,!!s,n,!0);return;case"textarea":pe("invalid",e),c=r=s=null;for(p in n)if(n.hasOwnProperty(p)&&(y=n[p],y!=null))switch(p){case"value":s=y;break;case"defaultValue":r=y;break;case"children":c=y;break;case"dangerouslySetInnerHTML":if(y!=null)throw Error(l(91));break;default:ke(e,t,p,y,n,null)}Qd(e,s,r,c);return;case"option":for(S in n)n.hasOwnProperty(S)&&(s=n[S],s!=null)&&(S==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":ke(e,t,S,s,n,null));return;case"dialog":pe("beforetoggle",e),pe("toggle",e),pe("cancel",e),pe("close",e);break;case"iframe":case"object":pe("load",e);break;case"video":case"audio":for(s=0;s<ss.length;s++)pe(ss[s],e);break;case"image":pe("error",e),pe("load",e);break;case"details":pe("toggle",e);break;case"embed":case"source":case"link":pe("error",e),pe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(C in n)if(n.hasOwnProperty(C)&&(s=n[C],s!=null))switch(C){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:ke(e,t,C,s,n,null)}return;default:if(Xl(t)){for(D in n)n.hasOwnProperty(D)&&(s=n[D],s!==void 0&&zu(e,t,D,s,n,void 0));return}}for(y in n)n.hasOwnProperty(y)&&(s=n[y],s!=null&&ke(e,t,y,s,n,null))}function Yx(e,t,n,s){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,c=null,p=null,y=null,S=null,C=null,D=null;for(M in n){var j=n[M];if(n.hasOwnProperty(M)&&j!=null)switch(M){case"checked":break;case"value":break;case"defaultValue":S=j;default:s.hasOwnProperty(M)||ke(e,t,M,null,s,j)}}for(var k in s){var M=s[k];if(j=n[k],s.hasOwnProperty(k)&&(M!=null||j!=null))switch(k){case"type":c=M;break;case"name":r=M;break;case"checked":C=M;break;case"defaultChecked":D=M;break;case"value":p=M;break;case"defaultValue":y=M;break;case"children":case"dangerouslySetInnerHTML":if(M!=null)throw Error(l(137,t));break;default:M!==j&&ke(e,t,k,M,s,j)}}Il(e,p,y,S,C,D,c,r);return;case"select":M=p=y=k=null;for(c in n)if(S=n[c],n.hasOwnProperty(c)&&S!=null)switch(c){case"value":break;case"multiple":M=S;default:s.hasOwnProperty(c)||ke(e,t,c,null,s,S)}for(r in s)if(c=s[r],S=n[r],s.hasOwnProperty(r)&&(c!=null||S!=null))switch(r){case"value":k=c;break;case"defaultValue":y=c;break;case"multiple":p=c;default:c!==S&&ke(e,t,r,c,s,S)}t=y,n=p,s=M,k!=null?Mi(e,!!n,k,!1):!!s!=!!n&&(t!=null?Mi(e,!!n,t,!0):Mi(e,!!n,n?[]:"",!1));return;case"textarea":M=k=null;for(y in n)if(r=n[y],n.hasOwnProperty(y)&&r!=null&&!s.hasOwnProperty(y))switch(y){case"value":break;case"children":break;default:ke(e,t,y,null,s,r)}for(p in s)if(r=s[p],c=n[p],s.hasOwnProperty(p)&&(r!=null||c!=null))switch(p){case"value":k=r;break;case"defaultValue":M=r;break;case"children":break;case"dangerouslySetInnerHTML":if(r!=null)throw Error(l(91));break;default:r!==c&&ke(e,t,p,r,s,c)}Fd(e,k,M);return;case"option":for(var F in n)k=n[F],n.hasOwnProperty(F)&&k!=null&&!s.hasOwnProperty(F)&&(F==="selected"?e.selected=!1:ke(e,t,F,null,s,k));for(S in s)k=s[S],M=n[S],s.hasOwnProperty(S)&&k!==M&&(k!=null||M!=null)&&(S==="selected"?e.selected=k&&typeof k!="function"&&typeof k!="symbol":ke(e,t,S,k,s,M));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ne in n)k=n[ne],n.hasOwnProperty(ne)&&k!=null&&!s.hasOwnProperty(ne)&&ke(e,t,ne,null,s,k);for(C in s)if(k=s[C],M=n[C],s.hasOwnProperty(C)&&k!==M&&(k!=null||M!=null))switch(C){case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(l(137,t));break;default:ke(e,t,C,k,s,M)}return;default:if(Xl(t)){for(var Re in n)k=n[Re],n.hasOwnProperty(Re)&&k!==void 0&&!s.hasOwnProperty(Re)&&zu(e,t,Re,void 0,s,k);for(D in s)k=s[D],M=n[D],!s.hasOwnProperty(D)||k===M||k===void 0&&M===void 0||zu(e,t,D,k,s,M);return}}for(var E in n)k=n[E],n.hasOwnProperty(E)&&k!=null&&!s.hasOwnProperty(E)&&ke(e,t,E,null,s,k);for(j in s)k=s[j],M=n[j],!s.hasOwnProperty(j)||k===M||k==null&&M==null||ke(e,t,j,k,s,M)}function e_(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Gx(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),s=0;s<n.length;s++){var r=n[s],c=r.transferSize,p=r.initiatorType,y=r.duration;if(c&&y&&e_(p)){for(p=0,y=r.responseEnd,s+=1;s<n.length;s++){var S=n[s],C=S.startTime;if(C>y)break;var D=S.transferSize,j=S.initiatorType;D&&e_(j)&&(S=S.responseEnd,p+=D*(S<y?1:(y-C)/(S-C)))}if(--s,t+=8*(c+p)/(r.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Nu=null,ju=null;function Ho(e){return e.nodeType===9?e:e.ownerDocument}function t_(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function n_(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Vu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Bu=null;function Ix(){var e=window.event;return e&&e.type==="popstate"?e===Bu?!1:(Bu=e,!0):(Bu=null,!1)}var i_=typeof setTimeout=="function"?setTimeout:void 0,$x=typeof clearTimeout=="function"?clearTimeout:void 0,a_=typeof Promise=="function"?Promise:void 0,Xx=typeof queueMicrotask=="function"?queueMicrotask:typeof a_<"u"?function(e){return a_.resolve(null).then(e).catch(Fx)}:i_;function Fx(e){setTimeout(function(){throw e})}function Kn(e){return e==="head"}function s_(e,t){var n=t,s=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"||n==="/&"){if(s===0){e.removeChild(r),ua(t);return}s--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")s++;else if(n==="html")ls(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ls(n);for(var c=n.firstChild;c;){var p=c.nextSibling,y=c.nodeName;c[wa]||y==="SCRIPT"||y==="STYLE"||y==="LINK"&&c.rel.toLowerCase()==="stylesheet"||n.removeChild(c),c=p}}else n==="body"&&ls(e.ownerDocument.body);n=r}while(n);ua(t)}function o_(e,t){var n=e;e=0;do{var s=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=s}while(n)}function Uu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Uu(n),Yl(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Qx(e,t,n,s){for(;e.nodeType===1;){var r=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[wa])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==r.rel||e.getAttribute("href")!==(r.href==null||r.href===""?null:r.href)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin)||e.getAttribute("title")!==(r.title==null?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(r.src==null?null:r.src)||e.getAttribute("type")!==(r.type==null?null:r.type)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=r.name==null?null:""+r.name;if(r.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=Bt(e.nextSibling),e===null)break}return null}function Zx(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Bt(e.nextSibling),e===null))return null;return e}function l_(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Bt(e.nextSibling),e===null))return null;return e}function Hu(e){return e.data==="$?"||e.data==="$~"}function Pu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Wx(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var s=function(){t(),n.removeEventListener("DOMContentLoaded",s)};n.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function Bt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Ku=null;function r_(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Bt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function u_(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function c_(e,t,n){switch(t=Ho(n),e){case"html":if(e=t.documentElement,!e)throw Error(l(452));return e;case"head":if(e=t.head,!e)throw Error(l(453));return e;case"body":if(e=t.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function ls(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Yl(e)}var Ut=new Map,d_=new Set;function Po(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Sn=K.d;K.d={f:Jx,r:ew,D:tw,C:nw,L:iw,m:aw,X:ow,S:sw,M:lw};function Jx(){var e=Sn.f(),t=Do();return e||t}function ew(e){var t=Ci(e);t!==null&&t.tag===5&&t.type==="form"?Ch(t):Sn.r(e)}var oa=typeof document>"u"?null:document;function f_(e,t,n){var s=oa;if(s&&typeof t=="string"&&t){var r=Mt(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),d_.has(r)||(d_.add(r),e={rel:e,crossOrigin:n,href:t},s.querySelector(r)===null&&(t=s.createElement("link"),it(t,"link",e),Ze(t),s.head.appendChild(t)))}}function tw(e){Sn.D(e),f_("dns-prefetch",e,null)}function nw(e,t){Sn.C(e,t),f_("preconnect",e,t)}function iw(e,t,n){Sn.L(e,t,n);var s=oa;if(s&&e&&t){var r='link[rel="preload"][as="'+Mt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Mt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+Mt(n.imageSizes)+'"]')):r+='[href="'+Mt(e)+'"]';var c=r;switch(t){case"style":c=la(e);break;case"script":c=ra(e)}Ut.has(c)||(e=v({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Ut.set(c,e),s.querySelector(r)!==null||t==="style"&&s.querySelector(rs(c))||t==="script"&&s.querySelector(us(c))||(t=s.createElement("link"),it(t,"link",e),Ze(t),s.head.appendChild(t)))}}function aw(e,t){Sn.m(e,t);var n=oa;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Mt(s)+'"][href="'+Mt(e)+'"]',c=r;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=ra(e)}if(!Ut.has(c)&&(e=v({rel:"modulepreload",href:e},t),Ut.set(c,e),n.querySelector(r)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(us(c)))return}s=n.createElement("link"),it(s,"link",e),Ze(s),n.head.appendChild(s)}}}function sw(e,t,n){Sn.S(e,t,n);var s=oa;if(s&&e){var r=ki(s).hoistableStyles,c=la(e);t=t||"default";var p=r.get(c);if(!p){var y={loading:0,preload:null};if(p=s.querySelector(rs(c)))y.loading=5;else{e=v({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Ut.get(c))&&qu(e,n);var S=p=s.createElement("link");Ze(S),it(S,"link",e),S._p=new Promise(function(C,D){S.onload=C,S.onerror=D}),S.addEventListener("load",function(){y.loading|=1}),S.addEventListener("error",function(){y.loading|=2}),y.loading|=4,Ko(p,t,s)}p={type:"stylesheet",instance:p,count:1,state:y},r.set(c,p)}}}function ow(e,t){Sn.X(e,t);var n=oa;if(n&&e){var s=ki(n).hoistableScripts,r=ra(e),c=s.get(r);c||(c=n.querySelector(us(r)),c||(e=v({src:e,async:!0},t),(t=Ut.get(r))&&Yu(e,t),c=n.createElement("script"),Ze(c),it(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},s.set(r,c))}}function lw(e,t){Sn.M(e,t);var n=oa;if(n&&e){var s=ki(n).hoistableScripts,r=ra(e),c=s.get(r);c||(c=n.querySelector(us(r)),c||(e=v({src:e,async:!0,type:"module"},t),(t=Ut.get(r))&&Yu(e,t),c=n.createElement("script"),Ze(c),it(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},s.set(r,c))}}function h_(e,t,n,s){var r=(r=fe.current)?Po(r):null;if(!r)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=la(n.href),n=ki(r).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=la(n.href);var c=ki(r).hoistableStyles,p=c.get(e);if(p||(r=r.ownerDocument||r,p={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,p),(c=r.querySelector(rs(e)))&&!c._p&&(p.instance=c,p.state.loading=5),Ut.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ut.set(e,n),c||rw(r,e,n,p.state))),t&&s===null)throw Error(l(528,""));return p}if(t&&s!==null)throw Error(l(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ra(n),n=ki(r).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function la(e){return'href="'+Mt(e)+'"'}function rs(e){return'link[rel="stylesheet"]['+e+"]"}function p_(e){return v({},e,{"data-precedence":e.precedence,precedence:null})}function rw(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),it(t,"link",n),Ze(t),e.head.appendChild(t))}function ra(e){return'[src="'+Mt(e)+'"]'}function us(e){return"script[async]"+e}function __(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+Mt(n.href)+'"]');if(s)return t.instance=s,Ze(s),s;var r=v({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),Ze(s),it(s,"style",r),Ko(s,n.precedence,e),t.instance=s;case"stylesheet":r=la(n.href);var c=e.querySelector(rs(r));if(c)return t.state.loading|=4,t.instance=c,Ze(c),c;s=p_(n),(r=Ut.get(r))&&qu(s,r),c=(e.ownerDocument||e).createElement("link"),Ze(c);var p=c;return p._p=new Promise(function(y,S){p.onload=y,p.onerror=S}),it(c,"link",s),t.state.loading|=4,Ko(c,n.precedence,e),t.instance=c;case"script":return c=ra(n.src),(r=e.querySelector(us(c)))?(t.instance=r,Ze(r),r):(s=n,(r=Ut.get(c))&&(s=v({},n),Yu(s,r)),e=e.ownerDocument||e,r=e.createElement("script"),Ze(r),it(r,"link",s),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(l(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,Ko(s,n.precedence,e));return t.instance}function Ko(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=s.length?s[s.length-1]:null,c=r,p=0;p<s.length;p++){var y=s[p];if(y.dataset.precedence===t)c=y;else if(c!==r)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function qu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Yu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var qo=null;function m_(e,t,n){if(qo===null){var s=new Map,r=qo=new Map;r.set(n,s)}else r=qo,s=r.get(n),s||(s=new Map,r.set(n,s));if(s.has(e))return s;for(s.set(e,null),n=n.getElementsByTagName(e),r=0;r<n.length;r++){var c=n[r];if(!(c[wa]||c[Je]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var p=c.getAttribute(t)||"";p=e+p;var y=s.get(p);y?y.push(c):s.set(p,[c])}}return s}function g_(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function uw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function y_(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function cw(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var r=la(s.href),c=t.querySelector(rs(r));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Yo.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=c,Ze(c);return}c=t.ownerDocument||t,s=p_(s),(r=Ut.get(r))&&qu(s,r),c=c.createElement("link"),Ze(c);var p=c;p._p=new Promise(function(y,S){p.onload=y,p.onerror=S}),it(c,"link",s),n.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Yo.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Gu=0;function dw(e,t){return e.stylesheets&&e.count===0&&Io(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var s=setTimeout(function(){if(e.stylesheets&&Io(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&Gu===0&&(Gu=62500*Gx());var r=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Io(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>Gu?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(r)}}:null}function Yo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Io(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Go=null;function Io(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Go=new Map,t.forEach(fw,e),Go=null,Yo.call(e))}function fw(e,t){if(!(t.state.loading&4)){var n=Go.get(e);if(n)var s=n.get(null);else{n=new Map,Go.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<r.length;c++){var p=r[c];(p.nodeName==="LINK"||p.getAttribute("media")!=="not all")&&(n.set(p.dataset.precedence,p),s=p)}s&&n.set(null,s)}r=t.instance,p=r.getAttribute("data-precedence"),c=n.get(p)||s,c===s&&n.set(null,r),n.set(p,r),this.count++,s=Yo.bind(this),r.addEventListener("load",s),r.addEventListener("error",s),c?c.parentNode.insertBefore(r,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(r,e.firstChild)),t.state.loading|=4}}var cs={$$typeof:U,Provider:null,Consumer:null,_currentValue:G,_currentValue2:G,_threadCount:0};function hw(e,t,n,s,r,c,p,y,S){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Hl(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hl(0),this.hiddenUpdates=Hl(null),this.identifierPrefix=s,this.onUncaughtError=r,this.onCaughtError=c,this.onRecoverableError=p,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=S,this.incompleteTransitions=new Map}function v_(e,t,n,s,r,c,p,y,S,C,D,j){return e=new hw(e,t,n,p,S,C,D,j,y),t=1,c===!0&&(t|=24),c=At(3,null,null,t),e.current=c,c.stateNode=e,t=xr(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:s,isDehydrated:n,cache:t},Cr(c),e}function b_(e){return e?(e=Ui,e):Ui}function S_(e,t,n,s,r,c){r=b_(r),s.context===null?s.context=r:s.pendingContext=r,s=Mn(t),s.payload={element:n},c=c===void 0?null:c,c!==null&&(s.callback=c),n=Dn(e,s,t),n!==null&&(yt(n,e,t),Ka(n,e,t))}function T_(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Iu(e,t){T_(e,t),(e=e.alternate)&&T_(e,t)}function A_(e){if(e.tag===13||e.tag===31){var t=si(e,67108864);t!==null&&yt(t,e,67108864),Iu(e,67108864)}}function x_(e){if(e.tag===13||e.tag===31){var t=Ct();t=Pl(t);var n=si(e,t);n!==null&&yt(n,e,t),Iu(e,t)}}var $o=!0;function pw(e,t,n,s){var r=R.T;R.T=null;var c=K.p;try{K.p=2,$u(e,t,n,s)}finally{K.p=c,R.T=r}}function _w(e,t,n,s){var r=R.T;R.T=null;var c=K.p;try{K.p=8,$u(e,t,n,s)}finally{K.p=c,R.T=r}}function $u(e,t,n,s){if($o){var r=Xu(s);if(r===null)Lu(e,t,s,Xo,n),E_(e,s);else if(gw(r,e,t,n,s))s.stopPropagation();else if(E_(e,s),t&4&&-1<mw.indexOf(e)){for(;r!==null;){var c=Ci(r);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var p=ei(c.pendingLanes);if(p!==0){var y=c;for(y.pendingLanes|=2,y.entangledLanes|=2;p;){var S=1<<31-St(p);y.entanglements[1]|=S,p&=~S}Zt(c),(Ae&6)===0&&(Ro=vt()+500,as(0))}}break;case 31:case 13:y=si(c,2),y!==null&&yt(y,c,2),Do(),Iu(c,2)}if(c=Xu(s),c===null&&Lu(e,t,s,Xo,n),c===r)break;r=c}r!==null&&s.stopPropagation()}else Lu(e,t,s,null,n)}}function Xu(e){return e=Ql(e),Fu(e)}var Xo=null;function Fu(e){if(Xo=null,e=Oi(e),e!==null){var t=d(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=f(t),e!==null)return e;e=null}else if(n===31){if(e=h(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Xo=e,null}function w_(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(tA()){case Dd:return 2;case Ld:return 8;case js:case nA:return 32;case zd:return 268435456;default:return 32}default:return 32}}var Qu=!1,qn=null,Yn=null,Gn=null,ds=new Map,fs=new Map,In=[],mw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function E_(e,t){switch(e){case"focusin":case"focusout":qn=null;break;case"dragenter":case"dragleave":Yn=null;break;case"mouseover":case"mouseout":Gn=null;break;case"pointerover":case"pointerout":ds.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":fs.delete(t.pointerId)}}function hs(e,t,n,s,r,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:n,eventSystemFlags:s,nativeEvent:c,targetContainers:[r]},t!==null&&(t=Ci(t),t!==null&&A_(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function gw(e,t,n,s,r){switch(t){case"focusin":return qn=hs(qn,e,t,n,s,r),!0;case"dragenter":return Yn=hs(Yn,e,t,n,s,r),!0;case"mouseover":return Gn=hs(Gn,e,t,n,s,r),!0;case"pointerover":var c=r.pointerId;return ds.set(c,hs(ds.get(c)||null,e,t,n,s,r)),!0;case"gotpointercapture":return c=r.pointerId,fs.set(c,hs(fs.get(c)||null,e,t,n,s,r)),!0}return!1}function O_(e){var t=Oi(e.target);if(t!==null){var n=d(t);if(n!==null){if(t=n.tag,t===13){if(t=f(n),t!==null){e.blockedOn=t,Hd(e.priority,function(){x_(n)});return}}else if(t===31){if(t=h(n),t!==null){e.blockedOn=t,Hd(e.priority,function(){x_(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Fo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xu(e.nativeEvent);if(n===null){n=e.nativeEvent;var s=new n.constructor(n.type,n);Fl=s,n.target.dispatchEvent(s),Fl=null}else return t=Ci(n),t!==null&&A_(t),e.blockedOn=n,!1;t.shift()}return!0}function C_(e,t,n){Fo(e)&&n.delete(t)}function yw(){Qu=!1,qn!==null&&Fo(qn)&&(qn=null),Yn!==null&&Fo(Yn)&&(Yn=null),Gn!==null&&Fo(Gn)&&(Gn=null),ds.forEach(C_),fs.forEach(C_)}function Qo(e,t){e.blockedOn===t&&(e.blockedOn=null,Qu||(Qu=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,yw)))}var Zo=null;function k_(e){Zo!==e&&(Zo=e,a.unstable_scheduleCallback(a.unstable_NormalPriority,function(){Zo===e&&(Zo=null);for(var t=0;t<e.length;t+=3){var n=e[t],s=e[t+1],r=e[t+2];if(typeof s!="function"){if(Fu(s||n)===null)continue;break}var c=Ci(n);c!==null&&(e.splice(t,3),t-=3,Xr(c,{pending:!0,data:r,method:n.method,action:s},s,r))}}))}function ua(e){function t(S){return Qo(S,e)}qn!==null&&Qo(qn,e),Yn!==null&&Qo(Yn,e),Gn!==null&&Qo(Gn,e),ds.forEach(t),fs.forEach(t);for(var n=0;n<In.length;n++){var s=In[n];s.blockedOn===e&&(s.blockedOn=null)}for(;0<In.length&&(n=In[0],n.blockedOn===null);)O_(n),n.blockedOn===null&&In.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(s=0;s<n.length;s+=3){var r=n[s],c=n[s+1],p=r[ft]||null;if(typeof c=="function")p||k_(n);else if(p){var y=null;if(c&&c.hasAttribute("formAction")){if(r=c,p=c[ft]||null)y=p.formAction;else if(Fu(r)!==null)continue}else y=p.action;typeof y=="function"?n[s+1]=y:(n.splice(s,3),s-=3),k_(n)}}}function R_(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(p){return r=p})},focusReset:"manual",scroll:"manual"})}function t(){r!==null&&(r(),r=null),s||setTimeout(n,20)}function n(){if(!s&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,r=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),r!==null&&(r(),r=null)}}}function Zu(e){this._internalRoot=e}Wo.prototype.render=Zu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(l(409));var n=t.current,s=Ct();S_(n,s,e,t,null,null)},Wo.prototype.unmount=Zu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;S_(e.current,2,null,e,null,null),Do(),t[Ei]=null}};function Wo(e){this._internalRoot=e}Wo.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ud();e={blockedOn:null,target:e,priority:t};for(var n=0;n<In.length&&t!==0&&t<In[n].priority;n++);In.splice(n,0,e),n===0&&O_(e)}};var M_=i.version;if(M_!=="19.2.6")throw Error(l(527,M_,"19.2.6"));K.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=_(t),e=e!==null?g(e):null,e=e===null?null:e.stateNode,e};var vw={bundleType:0,version:"19.2.6",rendererPackageName:"react-dom",currentDispatcherRef:R,reconcilerVersion:"19.2.6"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Jo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jo.isDisabled&&Jo.supportsFiber)try{Ta=Jo.inject(vw),bt=Jo}catch{}}return _s.createRoot=function(e,t){if(!u(e))throw Error(l(299));var n=!1,s="",r=Bh,c=Uh,p=Hh;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onUncaughtError!==void 0&&(r=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(p=t.onRecoverableError)),t=v_(e,1,!1,null,null,n,s,null,r,c,p,R_),e[Ei]=t.current,Du(e),new Zu(t)},_s.hydrateRoot=function(e,t,n){if(!u(e))throw Error(l(299));var s=!1,r="",c=Bh,p=Uh,y=Hh,S=null;return n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(c=n.onUncaughtError),n.onCaughtError!==void 0&&(p=n.onCaughtError),n.onRecoverableError!==void 0&&(y=n.onRecoverableError),n.formState!==void 0&&(S=n.formState)),t=v_(e,1,!0,t,n??null,s,r,S,c,p,y,R_),t.context=b_(null),n=t.current,s=Ct(),s=Pl(s),r=Mn(s),r.callback=null,Dn(n,r,s),n=s,t.current.lanes=n,xa(t,n),Zt(t),e[Ei]=t.current,Du(e),new Wo(t)},_s.version="19.2.6",_s}var P_;function Mw(){if(P_)return ec.exports;P_=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),ec.exports=Rw(),ec.exports}var Dw=Mw();const eD=Sg(Dw),ie=a=>typeof a=="string",ms=()=>{let a,i;const o=new Promise((l,u)=>{a=l,i=u});return o.resolve=a,o.reject=i,o},K_=a=>a==null?"":String(a),Lw=(a,i,o)=>{a.forEach(l=>{i[l]&&(o[l]=i[l])})},zw=/###/g,q_=a=>a&&a.includes("###")?a.replace(zw,"."):a,Y_=a=>!a||ie(a),bs=(a,i,o)=>{const l=ie(i)?i.split("."):i;let u=0;for(;u<l.length-1;){if(Y_(a))return{};const d=q_(l[u]);!a[d]&&o&&(a[d]=new o),Object.prototype.hasOwnProperty.call(a,d)?a=a[d]:a={},++u}return Y_(a)?{}:{obj:a,k:q_(l[u])}},G_=(a,i,o)=>{const{obj:l,k:u}=bs(a,i,Object);if(l!==void 0||i.length===1){l[u]=o;return}let d=i[i.length-1],f=i.slice(0,i.length-1),h=bs(a,f,Object);for(;h.obj===void 0&&f.length;)d=`${f[f.length-1]}.${d}`,f=f.slice(0,f.length-1),h=bs(a,f,Object),h?.obj&&typeof h.obj[`${h.k}.${d}`]<"u"&&(h.obj=void 0);h.obj[`${h.k}.${d}`]=o},Nw=(a,i,o,l)=>{const{obj:u,k:d}=bs(a,i,Object);u[d]=u[d]||[],u[d].push(o)},ml=(a,i)=>{const{obj:o,k:l}=bs(a,i);if(o&&Object.prototype.hasOwnProperty.call(o,l))return o[l]},jw=(a,i,o)=>{const l=ml(a,o);return l!==void 0?l:ml(i,o)},Tg=(a,i,o)=>{for(const l in i)l!=="__proto__"&&l!=="constructor"&&(l in a?ie(a[l])||a[l]instanceof String||ie(i[l])||i[l]instanceof String?o&&(a[l]=i[l]):Tg(a[l],i[l],o):a[l]=i[l]);return a},Tn=a=>a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),Vw={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},Bw=a=>ie(a)?a.replace(/[&<>"'\/]/g,i=>Vw[i]):a;class Uw{constructor(i){this.capacity=i,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(i){const o=this.regExpMap.get(i);if(o!==void 0)return o;const l=new RegExp(i);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(i,l),this.regExpQueue.push(i),l}}const Hw=[" ",",","?","!",";"],Pw=new Uw(20),Kw=(a,i,o)=>{i=i||"",o=o||"";const l=Hw.filter(f=>!i.includes(f)&&!o.includes(f));if(l.length===0)return!0;const u=Pw.getRegExp(`(${l.map(f=>f==="?"?"\\?":f).join("|")})`);let d=!u.test(a);if(!d){const f=a.indexOf(o);f>0&&!u.test(a.substring(0,f))&&(d=!0)}return d},xc=(a,i,o=".")=>{if(!a)return;if(a[i])return Object.prototype.hasOwnProperty.call(a,i)?a[i]:void 0;const l=i.split(o);let u=a;for(let d=0;d<l.length;){if(!u||typeof u!="object")return;let f,h="";for(let m=d;m<l.length;++m)if(m!==d&&(h+=o),h+=l[m],f=u[h],f!==void 0){if(["string","number","boolean"].includes(typeof f)&&m<l.length-1)continue;d+=m-d+1;break}u=f}return u},Es=a=>a?.replace(/_/g,"-"),qw={type:"logger",log(a){this.output("log",a)},warn(a){this.output("warn",a)},error(a){this.output("error",a)},output(a,i){console?.[a]?.apply?.(console,i)}};class gl{constructor(i,o={}){this.init(i,o)}init(i,o={}){this.prefix=o.prefix||"i18next:",this.logger=i||qw,this.options=o,this.debug=o.debug}log(...i){return this.forward(i,"log","",!0)}warn(...i){return this.forward(i,"warn","",!0)}error(...i){return this.forward(i,"error","")}deprecate(...i){return this.forward(i,"warn","WARNING DEPRECATED: ",!0)}forward(i,o,l,u){return u&&!this.debug?null:(i=i.map(d=>ie(d)?d.replace(/[\r\n\x00-\x1F\x7F]/g," "):d),ie(i[0])&&(i[0]=`${l}${this.prefix} ${i[0]}`),this.logger[o](i))}create(i){return new gl(this.logger,{prefix:`${this.prefix}:${i}:`,...this.options})}clone(i){return i=i||this.options,i.prefix=i.prefix||this.prefix,new gl(this.logger,i)}}var en=new gl;class Cl{constructor(){this.observers={}}on(i,o){return i.split(" ").forEach(l=>{this.observers[l]||(this.observers[l]=new Map);const u=this.observers[l].get(o)||0;this.observers[l].set(o,u+1)}),this}off(i,o){if(this.observers[i]){if(!o){delete this.observers[i];return}this.observers[i].delete(o)}}once(i,o){const l=(...u)=>{o(...u),this.off(i,l)};return this.on(i,l),this}emit(i,...o){this.observers[i]&&Array.from(this.observers[i].entries()).forEach(([u,d])=>{for(let f=0;f<d;f++)u(...o)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([u,d])=>{for(let f=0;f<d;f++)u(i,...o)})}}class I_ extends Cl{constructor(i,o={ns:["translation"],defaultNS:"translation"}){super(),this.data=i||{},this.options=o,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(i){this.options.ns.includes(i)||this.options.ns.push(i)}removeNamespaces(i){const o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}getResource(i,o,l,u={}){const d=u.keySeparator!==void 0?u.keySeparator:this.options.keySeparator,f=u.ignoreJSONStructure!==void 0?u.ignoreJSONStructure:this.options.ignoreJSONStructure;let h;i.includes(".")?h=i.split("."):(h=[i,o],l&&(Array.isArray(l)?h.push(...l):ie(l)&&d?h.push(...l.split(d)):h.push(l)));const m=ml(this.data,h);return!m&&!o&&!l&&i.includes(".")&&(i=h[0],o=h[1],l=h.slice(2).join(".")),m||!f||!ie(l)?m:xc(this.data?.[i]?.[o],l,d)}addResource(i,o,l,u,d={silent:!1}){const f=d.keySeparator!==void 0?d.keySeparator:this.options.keySeparator;let h=[i,o];l&&(h=h.concat(f?l.split(f):l)),i.includes(".")&&(h=i.split("."),u=o,o=h[1]),this.addNamespaces(o),G_(this.data,h,u),d.silent||this.emit("added",i,o,l,u)}addResources(i,o,l,u={silent:!1}){for(const d in l)(ie(l[d])||Array.isArray(l[d]))&&this.addResource(i,o,d,l[d],{silent:!0});u.silent||this.emit("added",i,o,l)}addResourceBundle(i,o,l,u,d,f={silent:!1,skipCopy:!1}){let h=[i,o];i.includes(".")&&(h=i.split("."),u=l,l=o,o=h[1]),this.addNamespaces(o);let m=ml(this.data,h)||{};f.skipCopy||(l=JSON.parse(JSON.stringify(l))),u?Tg(m,l,d):m={...m,...l},G_(this.data,h,m),f.silent||this.emit("added",i,o,l)}removeResourceBundle(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}hasResourceBundle(i,o){return this.getResource(i,o)!==void 0}getResourceBundle(i,o){return o||(o=this.options.defaultNS),this.getResource(i,o)}getDataByLanguage(i){return this.data[i]}hasLanguageSomeTranslations(i){const o=this.getDataByLanguage(i);return!!(o&&Object.keys(o)||[]).find(u=>o[u]&&Object.keys(o[u]).length>0)}toJSON(){return this.data}}var Ag={processors:{},addPostProcessor(a){this.processors[a.name]=a},handle(a,i,o,l,u){return a.forEach(d=>{i=this.processors[d]?.process(i,o,l,u)??i}),i}};const xg=Symbol("i18next/PATH_KEY");function Yw(){const a=[],i=Object.create(null);let o;return i.get=(l,u)=>(o?.revoke?.(),u===xg?a:(a.push(u),o=Proxy.revocable(l,i),o.proxy)),Proxy.revocable(Object.create(null),i).proxy}function _a(a,i){const{[xg]:o}=a(Yw()),l=i?.keySeparator??".",u=i?.nsSeparator??":";if(o.length>1&&u){const d=i?.ns,f=Array.isArray(d)?d:null;if(f&&f.length>1&&f.slice(1).includes(o[0]))return`${o[0]}${u}${o.slice(1).join(l)}`}return o.join(l)}const ac=a=>!ie(a)&&typeof a!="boolean"&&typeof a!="number";class yl extends Cl{constructor(i,o={}){super(),Lw(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],i,this),this.options=o,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=en.create("translator"),this.checkedLoadedFor={}}changeLanguage(i){i&&(this.language=i)}exists(i,o={interpolation:{}}){const l={...o};if(i==null)return!1;const u=this.resolve(i,l);if(u?.res===void 0)return!1;const d=ac(u.res);return!(l.returnObjects===!1&&d)}extractFromKey(i,o){let l=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;l===void 0&&(l=":");const u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let d=o.ns||this.options.defaultNS||[];const f=l&&i.includes(l),h=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!Kw(i,l,u);if(f&&!h){const m=i.match(this.interpolator.nestingRegexp);if(m&&m.length>0)return{key:i,namespaces:ie(d)?[d]:d};const _=i.split(l);(l!==u||l===u&&this.options.ns.includes(_[0]))&&(d=_.shift()),i=_.join(u)}return{key:i,namespaces:ie(d)?[d]:d}}translate(i,o,l){let u=typeof o=="object"?{...o}:o;if(typeof u!="object"&&this.options.overloadTranslationOptionHandler&&(u=this.options.overloadTranslationOptionHandler(arguments)),typeof u=="object"&&(u={...u}),u||(u={}),i==null)return"";typeof i=="function"&&(i=_a(i,{...this.options,...u})),Array.isArray(i)||(i=[String(i)]),i=i.map(ve=>typeof ve=="function"?_a(ve,{...this.options,...u}):String(ve));const d=u.returnDetails!==void 0?u.returnDetails:this.options.returnDetails,f=u.keySeparator!==void 0?u.keySeparator:this.options.keySeparator,{key:h,namespaces:m}=this.extractFromKey(i[i.length-1],u),_=m[m.length-1];let g=u.nsSeparator!==void 0?u.nsSeparator:this.options.nsSeparator;g===void 0&&(g=":");const v=u.lng||this.language,b=u.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v?.toLowerCase()==="cimode")return b?d?{res:`${_}${g}${h}`,usedKey:h,exactUsedKey:h,usedLng:v,usedNS:_,usedParams:this.getUsedParamsDetails(u)}:`${_}${g}${h}`:d?{res:h,usedKey:h,exactUsedKey:h,usedLng:v,usedNS:_,usedParams:this.getUsedParamsDetails(u)}:h;const x=this.resolve(i,u);let w=x?.res;const L=x?.usedKey||h,V=x?.exactUsedKey||h,B=["[object Number]","[object Function]","[object RegExp]"],P=u.joinArrays!==void 0?u.joinArrays:this.options.joinArrays,U=!this.i18nFormat||this.i18nFormat.handleAsObject,H=u.count!==void 0&&!ie(u.count),I=yl.hasDefaultValue(u),se=H?this.pluralResolver.getSuffix(v,u.count,u):"",W=u.ordinal&&H?this.pluralResolver.getSuffix(v,u.count,{ordinal:!1}):"",Z=H&&!u.ordinal&&u.count===0,ee=Z&&u[`defaultValue${this.options.pluralSeparator}zero`]||u[`defaultValue${se}`]||u[`defaultValue${W}`]||u.defaultValue;let $=w;U&&!w&&I&&($=ee);const de=ac($),ye=Object.prototype.toString.apply($);if(U&&$&&de&&!B.includes(ye)&&!(ie(P)&&Array.isArray($))){if(!u.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const ve=this.options.returnedObjectHandler?this.options.returnedObjectHandler(L,$,{...u,ns:m}):`key '${h} (${this.language})' returned an object instead of string.`;return d?(x.res=ve,x.usedParams=this.getUsedParamsDetails(u),x):ve}if(f){const ve=Array.isArray($),be=ve?[]:{},je=ve?V:L;for(const R in $)if(Object.prototype.hasOwnProperty.call($,R)){const K=`${je}${f}${R}`;I&&!w?be[R]=this.translate(K,{...u,defaultValue:ac(ee)?ee[R]:void 0,joinArrays:!1,ns:m}):be[R]=this.translate(K,{...u,joinArrays:!1,ns:m}),be[R]===K&&(be[R]=$[R])}w=be}}else if(U&&ie(P)&&Array.isArray(w))w=w.join(P),w&&(w=this.extendTranslation(w,i,u,l));else{let ve=!1,be=!1;!this.isValidLookup(w)&&I&&(ve=!0,w=ee),this.isValidLookup(w)||(be=!0,w=h);const R=(u.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&be?void 0:w,K=I&&ee!==w&&this.options.updateMissing;if(be||ve||K){if(this.logger.log(K?"updateKey":"missingKey",v,_,H&&!K?`${h}${this.pluralResolver.getSuffix(v,u.count,u)}`:h,K?ee:w),f){const T=this.resolve(h,{...u,keySeparator:!1});T&&T.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let G=[];const ae=this.languageUtils.getFallbackCodes(this.options.fallbackLng,u.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ae&&ae[0])for(let T=0;T<ae.length;T++)G.push(ae[T]);else this.options.saveMissingTo==="all"?G=this.languageUtils.toResolveHierarchy(u.lng||this.language):G.push(u.lng||this.language);const ce=(T,z,q)=>{const X=I&&q!==w?q:R;this.options.missingKeyHandler?this.options.missingKeyHandler(T,_,z,X,K,u):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(T,_,z,X,K,u),this.emit("missingKey",T,_,z,w)};this.options.saveMissing&&(this.options.saveMissingPlurals&&H?G.forEach(T=>{const z=this.pluralResolver.getSuffixes(T,u);Z&&u[`defaultValue${this.options.pluralSeparator}zero`]&&!z.includes(`${this.options.pluralSeparator}zero`)&&z.push(`${this.options.pluralSeparator}zero`),z.forEach(q=>{ce([T],h+q,u[`defaultValue${q}`]||ee)})}):ce(G,h,ee))}w=this.extendTranslation(w,i,u,x,l),be&&w===h&&this.options.appendNamespaceToMissingKey&&(w=`${_}${g}${h}`),(be||ve)&&this.options.parseMissingKeyHandler&&(w=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${_}${g}${h}`:h,ve?w:void 0,u))}return d?(x.res=w,x.usedParams=this.getUsedParamsDetails(u),x):w}extendTranslation(i,o,l,u,d){if(this.i18nFormat?.parse)i=this.i18nFormat.parse(i,{...this.options.interpolation.defaultVariables,...l},l.lng||this.language||u.usedLng,u.usedNS,u.usedKey,{resolved:u});else if(!l.skipInterpolation){l.interpolation&&this.interpolator.init({...l,interpolation:{...this.options.interpolation,...l.interpolation}});const m=ie(i)&&(l?.interpolation?.skipOnVariables!==void 0?l.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let _;if(m){const v=i.match(this.interpolator.nestingRegexp);_=v&&v.length}let g=l.replace&&!ie(l.replace)?l.replace:l;if(this.options.interpolation.defaultVariables&&(g={...this.options.interpolation.defaultVariables,...g}),i=this.interpolator.interpolate(i,g,l.lng||this.language||u.usedLng,l),m){const v=i.match(this.interpolator.nestingRegexp),b=v&&v.length;_<b&&(l.nest=!1)}!l.lng&&u&&u.res&&(l.lng=this.language||u.usedLng),l.nest!==!1&&(i=this.interpolator.nest(i,(...v)=>d?.[0]===v[0]&&!l.context?(this.logger.warn(`It seems you are nesting recursively key: ${v[0]} in key: ${o[0]}`),null):this.translate(...v,o),l)),l.interpolation&&this.interpolator.reset()}const f=l.postProcess||this.options.postProcess,h=ie(f)?[f]:f;return i!=null&&h?.length&&l.applyPostProcessor!==!1&&(i=Ag.handle(h,i,o,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...u,usedParams:this.getUsedParamsDetails(l)},...l}:l,this)),i}resolve(i,o={}){let l,u,d,f,h;return ie(i)&&(i=[i]),Array.isArray(i)&&(i=i.map(m=>typeof m=="function"?_a(m,{...this.options,...o}):m)),i.forEach(m=>{if(this.isValidLookup(l))return;const _=this.extractFromKey(m,o),g=_.key;u=g;let v=_.namespaces;this.options.fallbackNS&&(v=v.concat(this.options.fallbackNS));const b=o.count!==void 0&&!ie(o.count),x=b&&!o.ordinal&&o.count===0,w=o.context!==void 0&&(ie(o.context)||typeof o.context=="number")&&o.context!=="",L=o.lngs?o.lngs:this.languageUtils.toResolveHierarchy(o.lng||this.language,o.fallbackLng);v.forEach(V=>{this.isValidLookup(l)||(h=V,!this.checkedLoadedFor[`${L[0]}-${V}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(h)&&(this.checkedLoadedFor[`${L[0]}-${V}`]=!0,this.logger.warn(`key "${u}" for languages "${L.join(", ")}" won't get resolved as namespace "${h}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),L.forEach(B=>{if(this.isValidLookup(l))return;f=B;const P=[g];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(P,g,B,V,o);else{let H;b&&(H=this.pluralResolver.getSuffix(B,o.count,o));const I=`${this.options.pluralSeparator}zero`,se=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(b&&(o.ordinal&&H.startsWith(se)&&P.push(g+H.replace(se,this.options.pluralSeparator)),P.push(g+H),x&&P.push(g+I)),w){const W=`${g}${this.options.contextSeparator||"_"}${o.context}`;P.push(W),b&&(o.ordinal&&H.startsWith(se)&&P.push(W+H.replace(se,this.options.pluralSeparator)),P.push(W+H),x&&P.push(W+I))}}let U;for(;U=P.pop();)this.isValidLookup(l)||(d=U,l=this.getResource(B,V,U,o))}))})}),{res:l,usedKey:u,exactUsedKey:d,usedLng:f,usedNS:h}}isValidLookup(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}getResource(i,o,l,u={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(i,o,l,u):this.resourceStore.getResource(i,o,l,u)}getUsedParamsDetails(i={}){const o=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],l=i.replace&&!ie(i.replace);let u=l?i.replace:i;if(l&&typeof i.count<"u"&&(u.count=i.count),this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),!l){u={...u};for(const d of o)delete u[d]}return u}static hasDefaultValue(i){const o="defaultValue";for(const l in i)if(Object.prototype.hasOwnProperty.call(i,l)&&l.startsWith(o)&&i[l]!==void 0)return!0;return!1}}class $_{constructor(i){this.options=i,this.supportedLngs=this.options.supportedLngs||!1,this.logger=en.create("languageUtils")}getScriptPartFromCode(i){if(i=Es(i),!i||!i.includes("-"))return null;const o=i.split("-");return o.length===2||(o.pop(),o[o.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(o.join("-"))}getLanguagePartFromCode(i){if(i=Es(i),!i||!i.includes("-"))return i;const o=i.split("-");return this.formatLanguageCode(o[0])}formatLanguageCode(i){if(ie(i)&&i.includes("-")){let o;try{o=Intl.getCanonicalLocales(i)[0]}catch{}return o&&this.options.lowerCaseLng&&(o=o.toLowerCase()),o||(this.options.lowerCaseLng?i.toLowerCase():i)}return this.options.cleanCode||this.options.lowerCaseLng?i.toLowerCase():i}isSupportedCode(i){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(i=this.getLanguagePartFromCode(i)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(i)}getBestMatchFromCodes(i){if(!i)return null;let o;return i.forEach(l=>{if(o)return;const u=this.formatLanguageCode(l);(!this.options.supportedLngs||this.isSupportedCode(u))&&(o=u)}),!o&&this.options.supportedLngs&&i.forEach(l=>{if(o)return;const u=this.getScriptPartFromCode(l);if(this.isSupportedCode(u))return o=u;const d=this.getLanguagePartFromCode(l);if(this.isSupportedCode(d))return o=d;o=this.options.supportedLngs.find(f=>f===d?!0:!f.includes("-")&&!d.includes("-")?!1:!!(f.includes("-")&&!d.includes("-")&&f.slice(0,f.indexOf("-"))===d||f.startsWith(d)&&d.length>1))}),o||(o=this.getFallbackCodes(this.options.fallbackLng)[0]),o}getFallbackCodes(i,o){if(!i)return[];if(typeof i=="function"&&(i=i(o)),ie(i)&&(i=[i]),Array.isArray(i))return i;if(!o)return i.default||[];let l=i[o];return l||(l=i[this.getScriptPartFromCode(o)]),l||(l=i[this.formatLanguageCode(o)]),l||(l=i[this.getLanguagePartFromCode(o)]),l||(l=i.default),l||[]}toResolveHierarchy(i,o){const l=this.getFallbackCodes((o===!1?[]:o)||this.options.fallbackLng||[],i),u=[],d=f=>{f&&(this.isSupportedCode(f)?u.push(f):this.logger.warn(`rejecting language code not found in supportedLngs: ${f}`))};return ie(i)&&(i.includes("-")||i.includes("_"))?(this.options.load!=="languageOnly"&&d(this.formatLanguageCode(i)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&d(this.getScriptPartFromCode(i)),this.options.load!=="currentOnly"&&d(this.getLanguagePartFromCode(i))):ie(i)&&d(this.formatLanguageCode(i)),l.forEach(f=>{u.includes(f)||d(this.formatLanguageCode(f))}),u}}const X_={zero:0,one:1,two:2,few:3,many:4,other:5},F_={select:a=>a===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Gw{constructor(i,o={}){this.languageUtils=i,this.options=o,this.logger=en.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(i,o={}){const l=Es(i==="dev"?"en":i),u=o.ordinal?"ordinal":"cardinal",d=JSON.stringify({cleanedCode:l,type:u});if(d in this.pluralRulesCache)return this.pluralRulesCache[d];let f;try{f=new Intl.PluralRules(l,{type:u})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),F_;if(!i.match(/-|_/))return F_;const m=this.languageUtils.getLanguagePartFromCode(i);f=this.getRule(m,o)}return this.pluralRulesCache[d]=f,f}needsPlural(i,o={}){let l=this.getRule(i,o);return l||(l=this.getRule("dev",o)),l?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(i,o,l={}){return this.getSuffixes(i,l).map(u=>`${o}${u}`)}getSuffixes(i,o={}){let l=this.getRule(i,o);return l||(l=this.getRule("dev",o)),l?l.resolvedOptions().pluralCategories.sort((u,d)=>X_[u]-X_[d]).map(u=>`${this.options.prepend}${o.ordinal?`ordinal${this.options.prepend}`:""}${u}`):[]}getSuffix(i,o,l={}){const u=this.getRule(i,l);return u?`${this.options.prepend}${l.ordinal?`ordinal${this.options.prepend}`:""}${u.select(o)}`:(this.logger.warn(`no plural rule found for: ${i}`),this.getSuffix("dev",o,l))}}const Q_=(a,i,o,l=".",u=!0)=>{let d=jw(a,i,o);return!d&&u&&ie(o)&&(d=xc(a,o,l),d===void 0&&(d=xc(i,o,l))),d},sc=a=>a.replace(/\$/g,"$$$$");class Z_{constructor(i={}){this.logger=en.create("interpolator"),this.options=i,this.format=i?.interpolation?.format||(o=>o),this.init(i)}init(i={}){i.interpolation||(i.interpolation={escapeValue:!0});const{escape:o,escapeValue:l,useRawValueToEscape:u,prefix:d,prefixEscaped:f,suffix:h,suffixEscaped:m,formatSeparator:_,unescapeSuffix:g,unescapePrefix:v,nestingPrefix:b,nestingPrefixEscaped:x,nestingSuffix:w,nestingSuffixEscaped:L,nestingOptionsSeparator:V,maxReplaces:B,alwaysFormat:P}=i.interpolation;this.escape=o!==void 0?o:Bw,this.escapeValue=l!==void 0?l:!0,this.useRawValueToEscape=u!==void 0?u:!1,this.prefix=d?Tn(d):f||"{{",this.suffix=h?Tn(h):m||"}}",this.formatSeparator=_||",",this.unescapePrefix=g?"":v?Tn(v):"-",this.unescapeSuffix=this.unescapePrefix?"":g?Tn(g):"",this.nestingPrefix=b?Tn(b):x||Tn("$t("),this.nestingSuffix=w?Tn(w):L||Tn(")"),this.nestingOptionsSeparator=V||",",this.maxReplaces=B||1e3,this.alwaysFormat=P!==void 0?P:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const i=(o,l)=>o?.source===l?(o.lastIndex=0,o):new RegExp(l,"g");this.regexp=i(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=i(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=i(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(i,o,l,u){let d,f,h;const m=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},_=x=>{if(!x.includes(this.formatSeparator)){const B=Q_(o,m,x,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(B,void 0,l,{...u,...o,interpolationkey:x}):B}const w=x.split(this.formatSeparator),L=w.shift().trim(),V=w.join(this.formatSeparator).trim();return this.format(Q_(o,m,L,this.options.keySeparator,this.options.ignoreJSONStructure),V,l,{...u,...o,interpolationkey:L})};this.resetRegExp(),!this.escapeValue&&typeof i=="string"&&/\$t\([^)]*\{[^}]*\{\{/.test(i)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const g=u?.missingInterpolationHandler||this.options.missingInterpolationHandler,v=u?.interpolation?.skipOnVariables!==void 0?u.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:x=>sc(x)},{regex:this.regexp,safeValue:x=>this.escapeValue?sc(this.escape(x)):sc(x)}].forEach(x=>{for(h=0;d=x.regex.exec(i);){const w=d[1].trim();if(f=_(w),f===void 0)if(typeof g=="function"){const V=g(i,d,u);f=ie(V)?V:""}else if(u&&Object.prototype.hasOwnProperty.call(u,w))f="";else if(v){f=d[0];continue}else this.logger.warn(`missed to pass in variable ${w} for interpolating ${i}`),f="";else!ie(f)&&!this.useRawValueToEscape&&(f=K_(f));const L=x.safeValue(f);if(i=i.replace(d[0],L),v?(x.regex.lastIndex+=f.length,x.regex.lastIndex-=d[0].length):x.regex.lastIndex=0,h++,h>=this.maxReplaces)break}}),i}nest(i,o,l={}){let u,d,f;const h=(m,_)=>{const g=this.nestingOptionsSeparator;if(!m.includes(g))return m;const v=m.split(new RegExp(`${Tn(g)}[ ]*{`));let b=`{${v[1]}`;m=v[0],b=this.interpolate(b,f);const x=b.match(/'/g),w=b.match(/"/g);((x?.length??0)%2===0&&!w||(w?.length??0)%2!==0)&&(b=b.replace(/'/g,'"'));try{f=JSON.parse(b),_&&(f={..._,...f})}catch(L){return this.logger.warn(`failed parsing options string in nesting for key ${m}`,L),`${m}${g}${b}`}return f.defaultValue&&f.defaultValue.includes(this.prefix)&&delete f.defaultValue,m};for(;u=this.nestingRegexp.exec(i);){let m=[];f={...l},f=f.replace&&!ie(f.replace)?f.replace:f,f.applyPostProcessor=!1,delete f.defaultValue;const _=/{.*}/.test(u[1])?u[1].lastIndexOf("}")+1:u[1].indexOf(this.formatSeparator);if(_!==-1&&(m=u[1].slice(_).split(this.formatSeparator).map(g=>g.trim()).filter(Boolean),u[1]=u[1].slice(0,_)),d=o(h.call(this,u[1].trim(),f),f),d&&u[0]===i&&!ie(d))return d;ie(d)||(d=K_(d)),d||(this.logger.warn(`missed to resolve ${u[1]} for nesting ${i}`),d=""),m.length&&(d=m.reduce((g,v)=>this.format(g,v,l.lng,{...l,interpolationkey:u[1].trim()}),d.trim())),i=i.replace(u[0],d),this.regexp.lastIndex=0}return i}}const Iw=a=>{let i=a.toLowerCase().trim();const o={};if(a.includes("(")){const l=a.split("(");i=l[0].toLowerCase().trim();const u=l[1].slice(0,-1);i==="currency"&&!u.includes(":")?o.currency||(o.currency=u.trim()):i==="relativetime"&&!u.includes(":")?o.range||(o.range=u.trim()):u.split(";").forEach(f=>{if(f){const[h,...m]=f.split(":"),_=m.join(":").trim().replace(/^'+|'+$/g,""),g=h.trim();o[g]||(o[g]=_),_==="false"&&(o[g]=!1),_==="true"&&(o[g]=!0),isNaN(_)||(o[g]=parseInt(_,10))}})}return{formatName:i,formatOptions:o}},W_=a=>{const i={};return(o,l,u)=>{let d=u;u&&u.interpolationkey&&u.formatParams&&u.formatParams[u.interpolationkey]&&u[u.interpolationkey]&&(d={...d,[u.interpolationkey]:void 0});const f=l+JSON.stringify(d);let h=i[f];return h||(h=a(Es(l),u),i[f]=h),h(o)}},$w=a=>(i,o,l)=>a(Es(o),l)(i);class Xw{constructor(i={}){this.logger=en.create("formatter"),this.options=i,this.init(i)}init(i,o={interpolation:{}}){this.formatSeparator=o.interpolation.formatSeparator||",";const l=o.cacheInBuiltFormats?W_:$w;this.formats={number:l((u,d)=>{const f=new Intl.NumberFormat(u,{...d});return h=>f.format(h)}),currency:l((u,d)=>{const f=new Intl.NumberFormat(u,{...d,style:"currency"});return h=>f.format(h)}),datetime:l((u,d)=>{const f=new Intl.DateTimeFormat(u,{...d});return h=>f.format(h)}),relativetime:l((u,d)=>{const f=new Intl.RelativeTimeFormat(u,{...d});return h=>f.format(h,d.range||"day")}),list:l((u,d)=>{const f=new Intl.ListFormat(u,{...d});return h=>f.format(h)})}}add(i,o){this.formats[i.toLowerCase().trim()]=o}addCached(i,o){this.formats[i.toLowerCase().trim()]=W_(o)}format(i,o,l,u={}){if(!o||i==null)return i;const d=o.split(this.formatSeparator);if(d.length>1&&d[0].indexOf("(")>1&&!d[0].includes(")")&&d.find(h=>h.includes(")"))){const h=d.findIndex(m=>m.includes(")"));d[0]=[d[0],...d.splice(1,h)].join(this.formatSeparator)}return d.reduce((h,m)=>{const{formatName:_,formatOptions:g}=Iw(m);if(this.formats[_]){let v=h;try{const b=u?.formatParams?.[u.interpolationkey]||{},x=b.locale||b.lng||u.locale||u.lng||l;v=this.formats[_](h,x,{...g,...u,...b})}catch(b){this.logger.warn(b)}return v}else this.logger.warn(`there was no format function for ${_}`);return h},i)}}const Fw=(a,i)=>{a.pending[i]!==void 0&&(delete a.pending[i],a.pendingCount--)};class Qw extends Cl{constructor(i,o,l,u={}){super(),this.backend=i,this.store=o,this.services=l,this.languageUtils=l.languageUtils,this.options=u,this.logger=en.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=u.maxParallelReads||10,this.readingCalls=0,this.maxRetries=u.maxRetries>=0?u.maxRetries:5,this.retryTimeout=u.retryTimeout>=1?u.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(l,u.backend,u)}queueLoad(i,o,l,u){const d={},f={},h={},m={};return i.forEach(_=>{let g=!0;o.forEach(v=>{const b=`${_}|${v}`;!l.reload&&this.store.hasResourceBundle(_,v)?this.state[b]=2:this.state[b]<0||(this.state[b]===1?f[b]===void 0&&(f[b]=!0):(this.state[b]=1,g=!1,f[b]===void 0&&(f[b]=!0),d[b]===void 0&&(d[b]=!0),m[v]===void 0&&(m[v]=!0)))}),g||(h[_]=!0)}),(Object.keys(d).length||Object.keys(f).length)&&this.queue.push({pending:f,pendingCount:Object.keys(f).length,loaded:{},errors:[],callback:u}),{toLoad:Object.keys(d),pending:Object.keys(f),toLoadLanguages:Object.keys(h),toLoadNamespaces:Object.keys(m)}}loaded(i,o,l){const u=i.split("|"),d=u[0],f=u[1];o&&this.emit("failedLoading",d,f,o),!o&&l&&this.store.addResourceBundle(d,f,l,void 0,void 0,{skipCopy:!0}),this.state[i]=o?-1:2,o&&l&&(this.state[i]=0);const h={};this.queue.forEach(m=>{Nw(m.loaded,[d],f),Fw(m,i),o&&m.errors.push(o),m.pendingCount===0&&!m.done&&(Object.keys(m.loaded).forEach(_=>{h[_]||(h[_]={});const g=m.loaded[_];g.length&&g.forEach(v=>{h[_][v]===void 0&&(h[_][v]=!0)})}),m.done=!0,m.errors.length?m.callback(m.errors):m.callback())}),this.emit("loaded",h),this.queue=this.queue.filter(m=>!m.done)}read(i,o,l,u=0,d=this.retryTimeout,f){if(!i.length)return f(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:l,tried:u,wait:d,callback:f});return}this.readingCalls++;const h=(_,g)=>{if(this.readingCalls--,this.waitingReads.length>0){const v=this.waitingReads.shift();this.read(v.lng,v.ns,v.fcName,v.tried,v.wait,v.callback)}if(_&&g&&u<this.maxRetries){setTimeout(()=>{this.read(i,o,l,u+1,d*2,f)},d);return}f(_,g)},m=this.backend[l].bind(this.backend);if(m.length===2){try{const _=m(i,o);_&&typeof _.then=="function"?_.then(g=>h(null,g)).catch(h):h(null,_)}catch(_){h(_)}return}return m(i,o,h)}prepareLoading(i,o,l={},u){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),u&&u();ie(i)&&(i=this.languageUtils.toResolveHierarchy(i)),ie(o)&&(o=[o]);const d=this.queueLoad(i,o,l,u);if(!d.toLoad.length)return d.pending.length||u(),null;d.toLoad.forEach(f=>{this.loadOne(f)})}load(i,o,l){this.prepareLoading(i,o,{},l)}reload(i,o,l){this.prepareLoading(i,o,{reload:!0},l)}loadOne(i,o=""){const l=i.split("|"),u=l[0],d=l[1];this.read(u,d,"read",void 0,void 0,(f,h)=>{f&&this.logger.warn(`${o}loading namespace ${d} for language ${u} failed`,f),!f&&h&&this.logger.log(`${o}loaded namespace ${d} for language ${u}`,h),this.loaded(i,f,h)})}saveMissing(i,o,l,u,d,f={},h=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(o)){this.logger.warn(`did not save key "${l}" as the namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(l==null||l==="")){if(this.backend?.create){const m={...f,isUpdate:d},_=this.backend.create.bind(this.backend);if(_.length<6)try{let g;_.length===5?g=_(i,o,l,u,m):g=_(i,o,l,u),g&&typeof g.then=="function"?g.then(v=>h(null,v)).catch(h):h(null,g)}catch(g){h(g)}else _(i,o,l,u,h,m)}!i||!i[0]||this.store.addResource(i[0],o,l,u)}}}const oc=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:a=>{let i={};if(typeof a[1]=="object"&&(i=a[1]),ie(a[1])&&(i.defaultValue=a[1]),ie(a[2])&&(i.tDescription=a[2]),typeof a[2]=="object"||typeof a[3]=="object"){const o=a[3]||a[2];Object.keys(o).forEach(l=>{i[l]=o[l]})}return i},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),J_=a=>(ie(a.ns)&&(a.ns=[a.ns]),ie(a.fallbackLng)&&(a.fallbackLng=[a.fallbackLng]),ie(a.fallbackNS)&&(a.fallbackNS=[a.fallbackNS]),a.supportedLngs&&!a.supportedLngs.includes("cimode")&&(a.supportedLngs=a.supportedLngs.concat(["cimode"])),a),el=()=>{},Zw=a=>{Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach(o=>{typeof a[o]=="function"&&(a[o]=a[o].bind(a))})};class Ss extends Cl{constructor(i={},o){if(super(),this.options=J_(i),this.services={},this.logger=en,this.modules={external:[]},Zw(this),o&&!this.isInitialized&&!i.isClone){if(!this.options.initAsync)return this.init(i,o),this;setTimeout(()=>{this.init(i,o)},0)}}init(i={},o){this.isInitializing=!0,typeof i=="function"&&(o=i,i={}),i.defaultNS==null&&i.ns&&(ie(i.ns)?i.defaultNS=i.ns:i.ns.includes("translation")||(i.defaultNS=i.ns[0]));const l=oc();this.options={...l,...this.options,...J_(i)},this.options.interpolation={...l.interpolation,...this.options.interpolation},i.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=i.keySeparator),i.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=i.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=l.overloadTranslationOptionHandler);const u=_=>_?typeof _=="function"?new _:_:null;if(!this.options.isClone){this.modules.logger?en.init(u(this.modules.logger),this.options):en.init(null,this.options);let _;this.modules.formatter?_=this.modules.formatter:_=Xw;const g=new $_(this.options);this.store=new I_(this.options.resources,this.options);const v=this.services;v.logger=en,v.resourceStore=this.store,v.languageUtils=g,v.pluralResolver=new Gw(g,{prepend:this.options.pluralSeparator}),_&&(v.formatter=u(_),v.formatter.init&&v.formatter.init(v,this.options),this.options.interpolation.format=v.formatter.format.bind(v.formatter)),v.interpolator=new Z_(this.options),v.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},v.backendConnector=new Qw(u(this.modules.backend),v.resourceStore,v,this.options),v.backendConnector.on("*",(b,...x)=>{this.emit(b,...x)}),this.modules.languageDetector&&(v.languageDetector=u(this.modules.languageDetector),v.languageDetector.init&&v.languageDetector.init(v,this.options.detection,this.options)),this.modules.i18nFormat&&(v.i18nFormat=u(this.modules.i18nFormat),v.i18nFormat.init&&v.i18nFormat.init(this)),this.translator=new yl(this.services,this.options),this.translator.on("*",(b,...x)=>{this.emit(b,...x)}),this.modules.external.forEach(b=>{b.init&&b.init(this)})}if(this.format=this.options.interpolation.format,o||(o=el),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const _=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);_.length>0&&_[0]!=="dev"&&(this.options.lng=_[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(_=>{this[_]=(...g)=>this.store[_](...g)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(_=>{this[_]=(...g)=>(this.store[_](...g),this)});const h=ms(),m=()=>{const _=(g,v)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),h.resolve(v),o(g,v)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return _(null,this.t.bind(this));this.changeLanguage(this.options.lng,_)};return this.options.resources||!this.options.initAsync?m():setTimeout(m,0),h}loadResources(i,o=el){let l=o;const u=ie(i)?i:this.language;if(typeof i=="function"&&(l=i),!this.options.resources||this.options.partialBundledLanguages){if(u?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return l();const d=[],f=h=>{if(!h||h==="cimode")return;this.services.languageUtils.toResolveHierarchy(h).forEach(_=>{_!=="cimode"&&(d.includes(_)||d.push(_))})};u?f(u):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(m=>f(m)),this.options.preload?.forEach?.(h=>f(h)),this.services.backendConnector.load(d,this.options.ns,h=>{!h&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),l(h)})}else l(null)}reloadResources(i,o,l){const u=ms();return typeof i=="function"&&(l=i,i=void 0),typeof o=="function"&&(l=o,o=void 0),i||(i=this.languages),o||(o=this.options.ns),l||(l=el),this.services.backendConnector.reload(i,o,d=>{u.resolve(),l(d)}),u}use(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&Ag.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}setResolvedLanguage(i){if(!(!i||!this.languages)&&!["cimode","dev"].includes(i)){for(let o=0;o<this.languages.length;o++){const l=this.languages[o];if(!["cimode","dev"].includes(l)&&this.store.hasLanguageSomeTranslations(l)){this.resolvedLanguage=l;break}}!this.resolvedLanguage&&!this.languages.includes(i)&&this.store.hasLanguageSomeTranslations(i)&&(this.resolvedLanguage=i,this.languages.unshift(i))}}changeLanguage(i,o){this.isLanguageChangingTo=i;const l=ms();this.emit("languageChanging",i);const u=h=>{this.language=h,this.languages=this.services.languageUtils.toResolveHierarchy(h),this.resolvedLanguage=void 0,this.setResolvedLanguage(h)},d=(h,m)=>{m?this.isLanguageChangingTo===i&&(u(m),this.translator.changeLanguage(m),this.isLanguageChangingTo=void 0,this.emit("languageChanged",m),this.logger.log("languageChanged",m)):this.isLanguageChangingTo=void 0,l.resolve((..._)=>this.t(..._)),o&&o(h,(..._)=>this.t(..._))},f=h=>{!i&&!h&&this.services.languageDetector&&(h=[]);const m=ie(h)?h:h&&h[0],_=this.store.hasLanguageSomeTranslations(m)?m:this.services.languageUtils.getBestMatchFromCodes(ie(h)?[h]:h);_&&(this.language||u(_),this.translator.language||this.translator.changeLanguage(_),this.services.languageDetector?.cacheUserLanguage?.(_)),this.loadResources(_,g=>{d(g,_)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?f(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(f):this.services.languageDetector.detect(f):f(i),l}getFixedT(i,o,l,u){const d=u?.scopeNs,f=(h,m,..._)=>{let g;typeof m!="object"?g=this.options.overloadTranslationOptionHandler([h,m].concat(_)):g={...m},g.lng=g.lng||f.lng,g.lngs=g.lngs||f.lngs;const v=g.ns!==void 0&&g.ns!==null;g.ns=g.ns||f.ns,g.keyPrefix!==""&&(g.keyPrefix=g.keyPrefix||l||f.keyPrefix);const b={...this.options,...g};Array.isArray(d)&&!v&&(b.ns=d),typeof g.keyPrefix=="function"&&(g.keyPrefix=_a(g.keyPrefix,b));const x=this.options.keySeparator||".";let w;return g.keyPrefix&&Array.isArray(h)?w=h.map(L=>(typeof L=="function"&&(L=_a(L,b)),`${g.keyPrefix}${x}${L}`)):(typeof h=="function"&&(h=_a(h,b)),w=g.keyPrefix?`${g.keyPrefix}${x}${h}`:h),this.t(w,g)};return ie(i)?f.lng=i:f.lngs=i,f.ns=o,f.keyPrefix=l,f}t(...i){return this.translator?.translate(...i)}exists(...i){return this.translator?.exists(...i)}setDefaultNamespace(i){this.options.defaultNS=i}hasLoadedNamespace(i,o={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const l=o.lng||this.resolvedLanguage||this.languages[0],u=this.options?this.options.fallbackLng:!1,d=this.languages[this.languages.length-1];if(l.toLowerCase()==="cimode")return!0;const f=(h,m)=>{const _=this.services.backendConnector.state[`${h}|${m}`];return _===-1||_===0||_===2};if(o.precheck){const h=o.precheck(this,f);if(h!==void 0)return h}return!!(this.hasResourceBundle(l,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||f(l,i)&&(!u||f(d,i)))}loadNamespaces(i,o){const l=ms();return this.options.ns?(ie(i)&&(i=[i]),i.forEach(u=>{this.options.ns.includes(u)||this.options.ns.push(u)}),this.loadResources(u=>{l.resolve(),o&&o(u)}),l):(o&&o(),Promise.resolve())}loadLanguages(i,o){const l=ms();ie(i)&&(i=[i]);const u=this.options.preload||[],d=i.filter(f=>!u.includes(f)&&this.services.languageUtils.isSupportedCode(f));return d.length?(this.options.preload=u.concat(d),this.loadResources(f=>{l.resolve(),o&&o(f)}),l):(o&&o(),Promise.resolve())}dir(i){if(i||(i=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!i)return"rtl";try{const u=new Intl.Locale(i);if(u&&u.getTextInfo){const d=u.getTextInfo();if(d&&d.direction)return d.direction}}catch{}const o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],l=this.services?.languageUtils||new $_(oc());return i.toLowerCase().indexOf("-latn")>1?"ltr":o.includes(l.getLanguagePartFromCode(i))||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(i={},o){const l=new Ss(i,o);return l.createInstance=Ss.createInstance,l}cloneInstance(i={},o=el){const l=i.forkResourceStore;l&&delete i.forkResourceStore;const u={...this.options,...i,isClone:!0},d=new Ss(u);if((i.debug!==void 0||i.prefix!==void 0)&&(d.logger=d.logger.clone(i)),["store","services","language"].forEach(h=>{d[h]=this[h]}),d.services={...this.services},d.services.utils={hasLoadedNamespace:d.hasLoadedNamespace.bind(d)},l){const h=Object.keys(this.store.data).reduce((m,_)=>(m[_]={...this.store.data[_]},m[_]=Object.keys(m[_]).reduce((g,v)=>(g[v]={...m[_][v]},g),m[_]),m),{});d.store=new I_(h,u),d.services.resourceStore=d.store}if(i.interpolation){const m={...oc().interpolation,...this.options.interpolation,...i.interpolation},_={...u,interpolation:m};d.services.interpolator=new Z_(_)}return d.translator=new yl(d.services,u),d.translator.on("*",(h,...m)=>{d.emit(h,...m)}),d.init(u,o),d.translator.options=u,d.translator.backendConnector.services.utils={hasLoadedNamespace:d.hasLoadedNamespace.bind(d)},d}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const we=Ss.createInstance();we.createInstance;we.dir;we.init;we.loadResources;we.reloadResources;we.use;we.changeLanguage;we.getFixedT;we.t;we.exists;we.setDefaultNamespace;we.hasLoadedNamespace;we.loadNamespaces;we.loadLanguages;const wg={ok:"OK",cancel:"Cancel",confirm:"Confirm",save:"Save",close:"Close",retry:"Retry",clear:"Clear",remove:"Remove",add:"Add",back:"Back",next:"Next",done:"Done",skip:"Skip",copy:"Copy",edit:"Edit",search:"Search",loading:"Loading…"},Eg={system:"System","zh-CN":"简体中文","zh-TW":"繁體中文",en:"English"},Og={system_default:"System default",system_default_with_current:"System default ({{name}})",auto_detect:"Auto-detect",none:"None"},Ww={actions:wg,lang:Eg,value:Og},Jw=Object.freeze(Object.defineProperty({__proto__:null,actions:wg,default:Ww,lang:Eg,value:Og},Symbol.toStringTag,{value:"Module"})),Cg={title:"Hotkey conflict",description_one:"The shortcut below is invalid. Please rebind it. Dismissing this dialog will clear the binding.",description_other:"{{count}} shortcuts are invalid. Please rebind them. Dismissing this dialog will clear these bindings.",cleared_toast_one:"Cleared 1 conflicting shortcut. You can rebind it later in Settings.",cleared_toast_other:"Cleared {{count}} conflicting shortcuts. You can rebind them later in Settings."},kg={title_pending:"Finishing your last recording",title_success:"Transcription ready",title_error:"Transcription failed",description_pending:"You're signed back in — re-running the cloud transcription on your last recording, hang tight…",description_success:"Here is the final transcript. Tap the button below to copy it to the clipboard.",description_error:"Signed back in successfully, but re-transcribing the saved audio failed again. You can retry it manually from History.",empty_transcript:"(Nothing was recognized)",copy:"Copy",copied:"Copied",close:"Close",close_disabled:"Working…"},Rg={title:"Sign in to OpenLoaf",openloaf_note:"OpenSpeech is an OpenLoaf product — one OpenLoaf account works across the family.",description:"Choose a sign-in method to continue",subtitle:{idle:"Choose how you'd like to sign in",opening:"Opening your browser...",polling:"Waiting for you to finish in the browser",success:"Signed in"},providers:{wechat:"Continue with WeChat",google:"Continue with Google"},or:"OR",byo_button:"Use your own STT endpoint",byo_hint:"Don't want to sign in to OpenLoaf? Point OpenSpeech at your own STT REST endpoint and audio stays local — never routed through our cloud.",retry:"Retry",close:"Close",cancel:"Cancel sign-in",details_show:"Show details",details_hide:"Hide details"},Mg={title:"Account",description:"OpenSpeech account and subscription",loading:"// loading //",section:{identity:"Identity",subscription:"Subscription",recharge:"Top up credits",session:"Session"},row:{email:"Email",wechat:"WeChat",subscription:"Plan",credits_balance:"Credit balance"},membership:{free:"FREE",lite:"LITE",pro:"PRO",premium:"PREMIUM"},subscribe_button:{default:"Subscribe / upgrade plan",upgrade_to_premium:"Upgrade to PREMIUM",manage:"Manage subscription"},subscribe_hint:"Manage your subscription and plan on the OpenLoaf website.",recharge_button:"Top up",recharge_hint:"1 CNY = 100 credits. You can top up without subscribing to a plan.",logout_button:"Sign out",logout_busy:"Signing out...",logout_hint:"Signing out clears your local sign-in state. Local recordings, history and dictionary are kept."},Dg={title:"Close to background",description:"OpenSpeech is about to close the main window. The app will keep running in the background.",body_1_prefix:"OpenSpeech will keep running in the ",body_1_highlight:"background",body_1_suffix:". Global hotkeys remain available.",body_2:'Reopen the main window from the tray icon, or choose "Quit" to fully exit.',remember:"Don't ask again",quit:"Quit",stay:"Run in background"},Lg={title:"No internet connection",description:"Your computer is offline. Check your network and try again.",body:"Your computer isn't connected to the internet. Check your network and try again.",still_offline:"Still offline",retry:"Retry"},zg={press_new:"Press a new hotkey...",recording_hint:"ESC to cancel · auto-exit in 4s",clear_title:"Clear",clear_aria:"Clear hotkey",error_prefix:"ERROR",error_illegal_combo:"Illegal combination",conflict_with:'Already used by "{{name}}"',conflict_reason:{equal:'Already used by "{{name}}"',subset_modifier_only:'Modifier set is a subset of "{{name}}" — will cause phantom triggers',subset_combo:'Modifier set is a subset of "{{name}}" — pressing this will double-fire',double_tap_overlap_modifier:'Shares a modifier with "{{name}}" — double-tap window will conflict'},replace:"Replace",rebind:"Re-record",cancel:"Cancel",replaced_toast:`Replaced "{{name}}"'s previous binding`,undo:"Undo"},Ng={default_title:"Dictation hotkey / PUSH-TO-TALK",unbound:"Unbound",default_hint:"Tap to start · tap again to stop"},jg={initializing:"INITIALIZING",tagline:"Speak less, write more.",loading:"Loading"},eE={hotkey_conflict:Cg,auth_recovery:kg,login:Rg,account:Mg,close_to_bg:Dg,no_internet:Lg,hotkey_field:zg,hotkey_preview:Ng,loading_screen:jg},tE=Object.freeze(Object.defineProperty({__proto__:null,account:Mg,auth_recovery:kg,close_to_bg:Dg,default:eE,hotkey_conflict:Cg,hotkey_field:zg,hotkey_preview:Ng,loading_screen:jg,login:Rg,no_internet:Lg},Symbol.toStringTag,{value:"Module"})),Vg={title:"Meeting recording in progress",description:"{{action}} is paused — stop the meeting recording first.",action_dictate:"Dictation",action_translate:"Translation",action_ask_ai:"Ask AI"},Bg={login_timeout:"Login timed out. Please try again.",login_failed:"Login failed. Please try again.",login_connection_reset:"Connection to the login server was reset. Please try again later.",login_unreachable:"Can't reach the login server. Check your network and try again.",internal:"Internal error. Please try again later.",not_authenticated:"Not signed in",not_authenticated_openloaf:"Not signed in to OpenLoaf",not_authenticated_openspeech:"Not signed in to OpenSpeech",session_expired:"Your session has expired. Please sign in again."},Ug={offline:"No internet connection",unreachable:"Network unreachable",service_unreachable:"Can't reach the service",service_unreachable_desc:"Network or server error. This recording was cancelled.",check_and_retry:"Check your network and try again."},Hg={start_failed:"Failed to start recording",save_failed:"Failed to save recording",mic_not_ready:"Microphone is not ready",realtime_not_started:"Realtime transcription didn't start",hotkey_sync_failed:"Failed to sync hotkeys to Rust: {{error}}"},Pg={refine:"AI refine",translate:"Translation"},Kg={transcribe_failed:"Transcription failed",transcribe_empty:"No transcript returned",transcribe_empty_desc:"Server timed out or audio was silent.",transcribe_placeholder:"(no transcript)",session_timeout:"Session timed out",saas_5xx:"SaaS server error (5xx)",saas_4xx:"SaaS authentication failed (4xx)",unknown:"Unknown error"},qg={copy_failed:"Failed to copy to clipboard",paste_failed:"Failed to auto-paste"},Yg={check_failed:"Failed to check for updates",available:"New version {{version}} available"},Gg={action:"Report error",sending:"Reporting…",sent:"Reported",toast_success:"Error reported. Thanks for the feedback!",toast_failed:"Report failed: {{message}}",toast_auth_lost:"Session expired. Please sign in again before reporting.",toast_network:"Network error. Couldn't send the report, please try again later.",toast_timeout:"Request timed out. Check your network and try again."},Ig={go_to_settings:"Open settings",generic:"Something went wrong",generic_hint:'An unexpected error occurred. Please try again. If it keeps happening, tap "Report error" to send us the details.',meeting_provider_unsupported:"Channel doesn't support meeting transcription",meeting_provider_unsupported_hint:"Open Settings → Dictation and switch to SaaS or Custom → Tencent.",meeting_provider_not_configured:"Dictation channel not configured",meeting_provider_not_configured_hint:"Open Settings → Dictation and pick SaaS or add a Custom → Tencent provider.",network_exit:"Connection lost",network_exit_hint:"The realtime ASR connection was dropped. Check your network and try again.",idle_timeout:"Disconnected due to silence",idle_timeout_hint:"The provider closed the session after a long silence. Resume to reconnect.",start_failed:"Failed to start meeting",mic_unavailable:"Microphone unavailable",mic_unavailable_hint:"Can't access the microphone. Check that it isn't in use by another app and that OpenSpeech has microphone permission in system settings, then try again.",start_failed_hint:"Couldn't start the meeting recording. Check your network and the Settings → Dictation configuration, then try again.",pause_failed:"Failed to pause",pause_failed_hint:"Couldn't pause the meeting. Please try again.",resume_failed:"Failed to resume",resume_failed_hint:"Couldn't resume the meeting. Check your network and try again.",resume_blocked_dictation:"Finish dictation first",resume_blocked_dictation_hint:"Dictation or translation is using the microphone. Finish it, then resume the meeting.",history_save_failed:"Failed to save meeting record",history_save_failed_hint:"The meeting record couldn't be saved locally. Check available disk space and try again.",history_open_failed:"Failed to open meeting record",history_open_failed_hint:"Couldn't open this meeting record. The file may be corrupted or moved.",history_delete_failed:"Failed to delete meeting record",history_delete_failed_hint:"Couldn't delete this meeting record. Please try again.",unauthenticated_byok:"Custom provider authentication failed",unauthenticated_byok_hint:"Tencent rejected the credentials. Open Settings → Dictation and double-check AppID / SecretId / SecretKey of the active provider.",insufficient_funds:"Provider balance exhausted",insufficient_funds_hint:"Top up the Tencent ASR account or switch to another provider.",engine_not_authorized:"Tencent account hasn't enabled engine 16k_zh_en_speaker",engine_not_authorized_hint:'"Realtime Speaker Diarization" is a separate Tencent SKU — the "Realtime ASR Large Model" pack does NOT cover it. Enable this engine via the Tencent Cloud ASR console (or open a support ticket):',open_tencent_console:"Open",unauthenticated_saas:"SaaS session expired",unauthenticated_saas_hint:"Please sign in to OpenSpeech again before starting the meeting.",insufficient_funds_saas:"SaaS credits exhausted",insufficient_funds_saas_hint:"Top up your account in the user portal or switch to Custom → Tencent.",not_authenticated:"Not signed in",not_authenticated_hint:"The SaaS channel requires sign-in. Sign in to OpenSpeech first, or switch to Custom → Tencent.",summary_insufficient_credits:"Credits exhausted",summary_insufficient_credits_hint:"Generating this summary needs OpenLoaf SaaS credits and your balance is too low. Top up or upgrade your subscription to continue, or switch to a custom model under Settings → AI.",summary_unauthorized:"SaaS session expired",summary_unauthorized_hint:"Your sign-in expired. Please sign in to OpenSpeech again and retry.",summary_rate_limited:"Rate limited",summary_rate_limited_hint:"The upstream is throttling requests. Try again in a moment.",summary_timeout:"Request timed out",summary_timeout_hint:"The AI service didn't respond in time. Check your network and retry.",summary_network:"Network unavailable",summary_network_hint:"Couldn't reach the AI service. Verify your connection and retry.",summary_generic:"Generation failed",summary_generic_hint:"The AI service couldn't finish this run. Please try again shortly.",summary_empty_transcript:"Nothing to summarize",summary_empty_transcript_hint:"This meeting has no finalized transcript yet, so there's nothing to summarize.",summary_no_active_custom_provider:"No custom model selected",summary_no_active_custom_provider_hint:"Enable a custom provider under Settings → AI, or switch the mode back to SaaS."},nE={hotkey_blocked:Vg,auth:Bg,network:Ug,recording:Hg,phase:Pg,stt:Kg,clipboard:qg,update:Yg,report:Gg,meetings:Ig},iE=Object.freeze(Object.defineProperty({__proto__:null,auth:Bg,clipboard:qg,default:nE,hotkey_blocked:Vg,meetings:Ig,network:Ug,phase:Pg,recording:Hg,report:Gg,stt:Kg,update:Yg},Symbol.toStringTag,{value:"Module"})),$g="Feedback",Xg="Send feedback",Fg="Tell us what's working, what's broken, or what you wish OpenSpeech could do.",Qg="Type",Zg={bug:"Bug",feature:"Feature request",ui:"UI / interaction",performance:"Performance",chat:"AI chat",other:"Other"},Wg="Details",Jg="Describe what happened, the steps to reproduce, or the feature you'd like…",ey="Contact email (optional)",ty="you@example.com",ny="Leave an email so we can follow up. Otherwise it's submitted anonymously.",iy="Include recent app logs",ay="Sends the most recent app logs along with your report to help us debug. Enabled by default for bug reports.",sy="Couldn't read the log file. Submitting without logs.",oy="Submit feedback",ly="Submitting…",ry="Cancel",uy={content_required:"Please write a sentence about what you'd like to share",email_invalid:"That email doesn't look right"},cy={success:"Feedback received — thank you!",auth_lost:"Your session expired. Please sign in again before submitting.",network:"Network error. Please try again later.",timeout:"Request timed out. Check your connection and retry.",generic:"Submission failed: {{message}}"},dy={menu_label:"Report this entry",dialog_title:"Report this entry",dialog_description:"Tell us what went wrong with this transcription or how the AI cleanup felt. We'll attach the original audio, prompts, and the produced text so we can analyse and improve.",context_summary:{type:"Type",duration:"Duration",target_app:"Target app",provider:"ASR channel",ai_model:"AI model",created_at:"Captured"},preview_label:"Text",preview_raw:"Raw ASR",preview_refined:"AI refined",preview_edited:"Edited",preview_empty:"(empty)",content_label:"Your comments",content_placeholder:`e.g. it misheard "OpenLoaf" as "open loaf"; or: don't drop filler words during AI cleanup…`,include_audio_label:"Include the original recording",include_audio_hint:"Lets us hear the actual audio for this entry. Only this entry's recording is uploaded — no other history is shared.",include_audio_disabled:"No recording was saved for this entry",include_audio_needs_login:"Sign in to attach the recording",include_audio_too_large:"Recording is over 10 MB — it won't be attached",submit:"Send feedback",submit_loading:"Sending…",validation:{content_required:"Write a sentence about what went wrong"},toast:{success:"Thanks — we got it!",audio_skipped:"Recording too large to attach; the rest was sent.",auth_lost:"Your session expired. Please sign in again before submitting.",network:"Network error. Please try again later.",timeout:"Request timed out. Check your connection and retry.",generic:"Submission failed: {{message}}"}},aE={menu_label:$g,dialog_title:Xg,dialog_description:Fg,type_label:Qg,type:Zg,content_label:Wg,content_placeholder:Jg,email_label:ey,email_placeholder:ty,email_hint:ny,attach_logs_label:iy,attach_logs_hint:ay,attach_logs_failed:sy,submit:oy,submit_loading:ly,cancel:ry,validation:uy,toast:cy,history:dy},sE=Object.freeze(Object.defineProperty({__proto__:null,attach_logs_failed:sy,attach_logs_hint:ay,attach_logs_label:iy,cancel:ry,content_label:Wg,content_placeholder:Jg,default:aE,dialog_description:Fg,dialog_title:Xg,email_hint:ny,email_label:ey,email_placeholder:ty,history:dy,menu_label:$g,submit:oy,submit_loading:ly,toast:cy,type:Zg,type_label:Qg,validation:uy},Symbol.toStringTag,{value:"Module"})),fy={dictate_ptt:"Dictation",translate:"Translate dictation",show_main_window:"Open main window",open_toolbox:"Open AI Tools",edit_last_record:"Polish last result"},hy={dictate_ptt:"Press to record, release to transcribe and inject at the cursor",translate:"Press to record, release to translate and inject at the cursor",show_main_window:"Bring the OpenSpeech main window forward from any app",open_toolbox:"Jump straight to the AI Tools page from any app",edit_last_record:"Open the quick panel to polish the latest dictation result without disturbing the main window"},py={unbound:"Unbound",double_tap:"2× {{mod}}",left:"Left",right:"Right"},_y={needs_main_key:"Needs to be combined with a main key",special_keys_locked:"Esc / Enter / arrow keys require enabling them in advanced settings",typing_key_needs_modifier:"Letters / digits / Space / punctuation would intercept normal typing — pair them with a modifier",fn_macos_only:"Fn is only reliable on macOS — use Alt + Win or Right Alt instead",modifier_only_no_main:"Modifier-only bindings can't include a main key",modifier_only_min:"At least one modifier key is required",combo_disallowed_main:"Tab / Backspace / Delete / CapsLock / NumLock / ScrollLock can't be used as a main key — too easy to misfire",combo_no_fn:"Fn can't be combined with a main key — the OS won't register it",double_tap_no_main:"Double-tap bindings can't include a main key",double_tap_single_mod:"Double-tap only supports a single modifier key",double_tap_fn_macos:"On macOS, double-tap Fn is the default system Dictation shortcut and will be intercepted"},my={system_shortcut:"This combo may conflict with a common system shortcut",f_key_bare:"F1-F12 are wired to brightness / volume by default on most Macs",modifier_only_single_macos:"A single modifier swallows every native chord using it (⌘+Space, ⌥+Arrow, ⌃+Space, …)",modifier_only_single_windows:"A single modifier swallows every native chord using it (Alt+Tab, Win+E, Ctrl+C, …)",modifier_only_single_linux:"A single modifier swallows every native chord using it (Alt+Tab, Super+Space, Ctrl+C, …)"},oE={binding:fy,binding_hint:hy,format:py,validation:_y,warning:my},lE=Object.freeze(Object.defineProperty({__proto__:null,binding:fy,binding_hint:hy,default:oE,format:py,validation:_y,warning:my},Symbol.toStringTag,{value:"Module"})),gy={subtitle:"// first run setup"},yy={tag:"// welcome to",headline_part1:"Speak it.",headline_part2:"Type it.",subhead:"Press the hotkey to start talking, press it again to stop — text appears instantly in whatever app you are using."},vy={section_tag:"// step 01 / permissions · {{platform}}",title_macos:"Grant microphone and accessibility access",title_windows:"Grant microphone access",title_linux:"Pick a microphone and an injection tool",recheck_all:"Recheck",recheck_all_title:"Recheck all permissions",recheck_one_title:"Recheck",summary_macos:"macOS needs three permissions: Microphone (recording), Accessibility (writing transcribed text into the focused app), and Input Monitoring (listening for global hotkeys). Permission caches are bound to the running process — if you ticked the toggle in System Settings but it still shows as not granted, click Restart OpenSpeech in the top right so the new grants take effect.",summary_windows:"Windows needs Microphone access for recording. If your target app runs as Administrator, OpenSpeech must run with the same privileges to inject text into it.",summary_linux:"Linux has no permission prompt: pick a PipeWire / PulseAudio input device, and make sure ydotool / wtype (Wayland) or xdotool (X11) is installed.",badge_required:"Required",badge_recommended:"Recommended",status_checking:"Checking",status_granted:"Granted",primary_acknowledged:"Got it",primary_open_settings:"Open System Settings",primary_request:"Request access",primary_grant:"Grant",tcc_hint:"Toggle on but still says not granted? Remove OpenSpeech from this permission list in System Settings, add it back, then click Restart OpenSpeech.",footer_next:"Next",footer_relaunch:"Restart OpenSpeech",footer_hint_ok:"2 steps left: sign in → try it",footer_hint_relaunch:"Restart after granting · the next step opens automatically",mic:{title:"Microphone",title_linux:"Microphone device",rationale:"Records your voice and sends it to the recognition engine.",rationale_linux:"Linux has no permission prompt; just pick a PipeWire / PulseAudio input device.",hint_macos:"Grant in: System Settings → Privacy & Security → Microphone",hint_windows:"Grant in: Windows Settings → Privacy → Microphone"},accessibility:{title:"Accessibility",rationale:"Simulates keyboard input to write recognized text into the focused field.",hint_macos:"Grant in: System Settings → Privacy & Security → Accessibility"},input_monitoring:{title:"Input Monitoring",rationale:"Listens for global hotkeys (e.g. Fn / Alt+Win) to start recording while you are using other apps.",hint_macos:"Grant in: System Settings → Privacy & Security → Input Monitoring"},inject_tools:{title_windows:"Target app privilege note",rationale_windows:"If the app you write into runs as Administrator (e.g. cmd), OpenSpeech needs the same privileges to inject text.",title_linux:"Detect injection tools",rationale_linux:"Wayland needs ydotool / wtype, X11 needs xdotool. OpenSpeech detects this automatically."}},by={section_tag:"// step 02 / account",title:"Sign in to OpenLoaf",subtitle_openloaf:"OpenSpeech is part of the OpenLoaf product family — one OpenLoaf account works across every product, with shared credits.",bonus_main:"200 credits granted to new accounts",bonus_minutes_prefix:"· about",bonus_minutes_value:"30 minutes",bonus_minutes_suffix:"of speech",method_wechat_label:"Sign in with WeChat",method_wechat_sub:"Scan a QR code to sign in",method_google_label:"Sign in with Google",method_google_sub:"Continue in your browser",status_success:"Signed in. Continuing…",status_opening:"Opening your browser…",status_polling:"Waiting for you to finish in the browser…",cancel:"Cancel",advanced_collapse:"↑ Hide",advanced_expand:"↓ I have my own STT endpoint",advanced_desc:"Configure a custom REST STT endpoint (OpenAI / Groq / Deepgram / self-hosted). Recommended for developers only — most users should sign in above.",advanced_cta:"Skip sign-in and configure a custom endpoint",error_default:"Sign-in failed. Please try again.",error_reset:"Connection to the sign-in server was reset. Please try again.",error_timeout:"Sign-in timed out. Please try again.",error_network:"Cannot reach the sign-in server. Check your network and try again."},Sy={section_tag:"// step 03 / try it",title:"Try it once.",subhead:"Press the hotkey below · say a sentence · press it again to stop",checklist_tag:"// CHECKLIST",checklist:{step1:"Press the dictation hotkey to start",step2:"Say something into the microphone",step3:"Press the hotkey again to stop",step4:"Watch the text appear below"},mock_slices:["Today","Today the","Today the weather","Today the weather is","Today the weather is great","Today the weather is great, so","Today the weather is great, so I opened OpenSpeech","Today the weather is great, so I opened OpenSpeech to try it out."],hotkey_title:"Your dictation hotkey",hotkey_hint:"Press to start · press again to stop",samples_label:"AUDIO · {{count}} SAMPLES",live_transcript_tag:"// LIVE TRANSCRIPT",transcript_chars:"{{count}} CHARS",transcript_placeholder:"Live transcript will appear here…",completed_title:"Setup complete — you are ready to go",completed_desc:"In real use, text is written into whichever app has focus.",reset:"Reset",mock_running:"Demoing…",mock_run:"▶ Run a demo",finish:"Finish setup",skip_finish:"Skip and finish",status:{ready_tag:"// READY",ready_primary:"Start speaking…",ready_secondary:"Esc to cancel",listening_tag:"// LISTENING",listening_primary:"Press the hotkey again to stop and transcribe",listening_secondary:"Esc to cancel this recording",transcribing_tag:"// TRANSCRIBING",transcribing_primary:"Transcribing…",transcribing_secondary:"Esc to discard this result",injecting_tag:"// INJECTING",injecting_primary:"Writing into the input…",error_tag:"// ERROR",error_primary:"Something went wrong — check the log or retry",idle_tag:"// IDLE"}},rE={header:gy,welcome:yy,permissions:vy,login:by,try_it:Sy},uE=Object.freeze(Object.defineProperty({__proto__:null,default:rE,header:gy,login:by,permissions:vy,try_it:Sy,welcome:yy},Symbol.toStringTag,{value:"Module"})),Ty={cancel:"Cancel",confirm:"Confirm",close_result:"Close result",cancel_keep:"End and keep recording",skip_refine:"Skip AI refine, use raw transcript"},Ay={target:"Translate target: {{lang}}",mode_label:"Translate mode",lang:{en:"English",zh:"Chinese","zh-TW":"Traditional Chinese",ja:"Japanese",ko:"Korean",fr:"French",de:"German",es:"Spanish"}},xy={to_translate:"Switched to translate mode",to_dictation:"Switched to dictation mode",tap_again_to_output:"Press {{hotkey}} again to output"},wy={error_fallback:"Error",transcribing:"Transcribing…",refining:"AI refining…",injecting:"Inserting…",translating:"Translating…"},Ey={tag:{ready:"// READY",listening:"// LISTENING",transcribing:"// TRANSCRIBING",injecting:"// INJECTING",error:"// ERROR",idle:"// IDLE",processing:"// PROCESSING"},primary:{ready:"Start speaking…",listening:"Press the hotkey again to stop and transcribe",transcribing:"Transcribing…",injecting:"Inserting into input…",error:"Something went wrong — check logs or retry",result:"Inserted into input · press the hotkey to dictate again"},secondary:{ready:"Esc to cancel",listening:"Esc to cancel this recording",transcribing:"Esc to discard this result",result:"Or click ✕ to dismiss"},placeholder:"Live transcript will appear here…",utterance_timer_label:"UTTERANCE",result_label:{original:"Original",translation:"Translation",polished:"Polished"},result_stats:{recording:"Recording",response:"Response"},dictate_status:{ai_on:"AI refine on",ai_off:"AI refine off"},mode_action:{dictate:"Dictate",translate:"Translate"},mode_segment:{utterance:"Utterance",realtime:"Realtime"},action:{stop:"Stop & transcribe",stop_translate:"Stop & translate",cancel:"Cancel recording",retry_hint:"Press the hotkey to retry",kbd_esc:"Esc",copy:"Copy",copied:"Copied",edit:"Edit",refine:"Polish",refining:"Polishing…",translate:"Translate",translating:"Translating…"},coming_soon:"Coming soon",coming_soon_tag:"// SOON",refine_scenario:{menu_aria:"Pick refine scenarios",helper:"Pick scenarios for sharper polish",count:"{{count}} scenarios",limit_hint:"Up to 3"},translate_lang:{menu_aria:"Pick translation target language"},meter:{live:"LIVE",chars:"{{count}} CHARS",samples:"AUDIO · {{count}} SAMPLES"}},Oy={stt_start_failed:{title:"Live transcription didn't start",description:"{{reason}} · recording locally only"},recording_start_failed:{title:"Failed to start recording"},mic_start_failed:{title:"Microphone failed to start",reasons:{"no-input-device":"No input microphone found. Check System Settings → Sound → Input.","permission-denied":"Microphone permission denied. Open System Settings → Privacy & Security → Microphone and enable OpenSpeech.","device-busy":"Microphone is held exclusively by another app. Open Control Center → Microphone (top-right) to see which app is using it.","device-config-unsupported":"Current microphone sample rate / channel layout is unsupported. Check System Settings → Sound → Input.","device-removed":"Microphone disconnected. For USB / Bluetooth mics, reconnect and try again.",generic:"Failed to start the microphone audio stream. Check logs or retry."}},mic_silence:{title:"No sound detected",description:"Recorded {{seconds}}s but no audio captured. Microphone may be muted, held by another app, or volume too low."},transcribe_failed:{title:"Transcription failed",no_transcript:"Nothing was recognized — retry from History"},byok_switch_to_saas:{action:"Use cloud",switched_title:"Switched to OpenLoaf cloud",switched_description:"Press the hotkey to record again"},recording_save_failed:{title:"Failed to save recording"},clipboard_failed:{title:"Failed to copy to clipboard"},paste_failed:{title:"Auto-paste failed",description:"Text is on the clipboard — press Cmd/Ctrl+V manually"},not_logged_in:{title:"Not signed in to OpenSpeech",description:"Sign in to use voice input",action:"Sign in"},dictation_fallback:{title:"Switched to OpenLoaf SaaS",description:"Custom provider isn't configured — this run used the cloud service"},ai_refine_auto_fallback:{title:"AI refine switched to OpenLoaf SaaS",description:"Custom AI provider isn't fully configured — switched to the cloud service"},ai_refine_custom_failed:{title:"AI refine failed (custom provider)",description_missing_key:"ApiKey for the custom provider is missing — tap the button to fall back to the cloud service",description_runtime:`Custom provider unreachable: {{error}}
10
+ Tap the button to fall back to the cloud service`,action:"Use SaaS"},asr_error:{title:"Transcription error",unknown:"Unknown error"},worker_dead:{title:"Voice channel disconnected",description:"This recording has been stopped — please try again",error_message:"Voice channel disconnected; recording stopped"},insufficient_credits:{title:"Insufficient credits",description:"This transcription was cancelled — top up in your account",error_message:"Insufficient credits — transcription cancelled"},session_timeout:{title:"Session timed out",description:"Reached the 2-hour server limit"},preflight_failed:{title:"Can't start recording"},aborted_saved:{title:"Cancelled, not transcribed",description:"Recording saved to history"},silent_recording:{title:"No speech detected"},realtime_degraded:{title:"Realtime ASR glitch",description:"Re-transcribing from the recording…",realtime_mode:"First half kept; retry the full take from history"}},Cy={placeholder:"(Transcript unavailable)",aborted_placeholder:"(Cancelled, not transcribed)"},ky={label:"REC",aria:"Recording for {{duration}}"},Ry={title:"No input field found",hint:"Copied · Press {{key}} to paste"},My={title:"Transcription failed",retry:"Retry",retrying:"Retrying…",close:"Dismiss"},Dy={stt_not_authenticated:"Not signed in to OpenLoaf",stt_5xx:"SaaS server error (5xx)",stt_4xx:"SaaS auth failed (4xx)",stt_mic_not_ready:"Microphone not ready",stt_network:"Network unreachable",stt_unknown:"Transcription failed. Please try again.",sync_hotkey_failed:"Failed to sync hotkeys to Rust: {{error}}",preflight_permission_denied:"Microphone permission not granted",preflight_no_device:"No microphone available",byok_not_implemented:"Custom BYOK channel under development; ships in the next release",byok_missing_credentials:"Custom provider credentials missing — set them in Settings → Dictation → Custom providers",byok_keyring_error:"Failed to read custom provider credentials from the system keychain",file_too_large_for_tencent_byok:"Recording exceeds the Tencent BYOK file transcription limit (~5 minutes). Switch to REALTIME mode or shorten the recording.",tencent_task_failed:"Tencent task failed: {{msg}}",tencent_task_timeout:"Tencent task timed out (no result after 24 minutes)",transcribe_timeout:"Transcription timed out — the server didn't respond, so we stopped waiting.",tencent_unauthenticated:"Tencent BYOK auth failed — check the SecretId / SecretKey in Settings",tencent_rate_limited:"Tencent BYOK rate-limited — wait a moment and retry",tencent_cos_unauthenticated:"Tencent COS auth failed — check SecretId / SecretKey and bucket permissions",tencent_cos_forbidden:"Tencent COS rejected the upload — verify bucket name, region and access policy",tencent_cos_network:"Tencent COS network error — check your connection and try again",tencent_cos_unknown:"Tencent COS upload failed (unknown error)",unauthenticated_byok:"Custom credentials rejected — check the SecretId / SecretKey",insufficient_funds:"Tencent Cloud account is out of credits or service is not enabled",idle_timeout:"Disconnected after a long silence with no audio",rate_limited:"Provider rate-limited the request — wait a moment and retry",aliyun_invalid_audio_format:"Audio format not supported by Aliyun DashScope — check the sample rate / bit depth",aliyun_quota_exceeded:"Aliyun DashScope quota exhausted",aliyun_unauthenticated:"Aliyun DashScope auth failed — check the ApiKey in Settings",aliyun_rate_limited:"Aliyun DashScope rate-limited — wait a moment and retry",aliyun_upload_failed:"Aliyun DashScope OSS upload failed: {{msg}}",aliyun_filetrans_failed:"Aliyun DashScope task failed: {{msg}}",aliyun_filetrans_timeout:"Aliyun DashScope task timed out (no result after 24 minutes)",aliyun_file_too_large:"Recording exceeds the Aliyun DashScope BYOK single-file limit (default 100 MB)"},Ly={aria:{dismiss:"Don't show this hint again"},recordingControls:{text:"Release to finish · ESC to cancel"},resultActions:{text:"⌘C copy · Edit · Polish · Translate"},firstResultConfirm:{text:"Place the cursor in a text field — auto-types after you speak",action_confirm:"Got it"},appFirstInject:{text:"Recognized — text inserted into {{app}}"}},cE={aria:Ty,translate:Ay,mode_switch:xy,status:wy,panel:Ey,toast:Oy,transcript:Cy,long_recording:ky,result:Ry,transcribeError:My,error:Dy,hints:Ly},dE=Object.freeze(Object.defineProperty({__proto__:null,aria:Ty,default:cE,error:Dy,hints:Ly,long_recording:ky,mode_switch:xy,panel:Ey,result:Ry,status:wy,toast:Oy,transcribeError:My,transcript:Cy,translate:Ay},Symbol.toStringTag,{value:"Module"})),zy={too_long_for_utterance:"Recording exceeds 5 minutes — UTTERANCE mode is not supported, switch to REALTIME",aliyun_oss_upload_failed:"Aliyun OSS upload failed — credentials may be expired or the network is unstable",aliyun_filetrans_failed:"Aliyun file transcription task failed — please retry later",aliyun_file_too_large:"File exceeds 100 MB — Aliyun OSS single-file limit reached",tencent_cos_upload_failed:"Tencent COS upload failed — check credentials and network",tencent_cos_bucket_required:"Tencent COS bucket is required for transcription. Open Settings → Dictation and fill it in."},Ny={hero:{title_line1:"Just speak.",title_line2:"It becomes text.",description:"Press the hotkey, talk, press again to finish — your words appear in any app, instantly. No editor lock-in, audio stays on-device, zero telemetry.",feature_push_to_talk:"// PUSH-TO-TALK DICTATION",feature_cross_platform:"// CROSS-PLATFORM WIN · MAC · LINUX"},hotkey_hint:"Press the hotkey to start recording, press again to stop and inject the text into the focused field. Press <esc>Esc</esc> to cancel; an editable field must be focused.",translate_hint:"Press the translate hotkey to start recording, press again to stop. The system transcribes then translates to the target language before injecting into the focused field.",translate_bilingual:"Bilingual output",translate_bilingual_aria:"Bilingual output (source + translation)",edit_hotkey:"Edit hotkey",edit_hotkey_dialog_title:"Edit hotkey",edit_hotkey_dialog_description:"Record or change the current hotkey binding.",quick_dict:{button_aria:"Add a word",title:"My dictionary",empty:"// No entries yet //",domains_label:"// Common domains"},hotkey_tab:{dictate:"Dictate",translate:"Translate"},hotkey_title:{dictate:"Dictation / PUSH-TO-TALK",translate:"Translate / TRANSLATE"},dictation_starred:"Starred",dictation_star_add:"Add to starred",stats:{section_title:"Today / This session",section_title_today:"Today's session stats",section_title_all:"All-time session stats",tab_today:"Today",tab_all:"All time",live_metrics:"// LIVE METRICS",duration_label:"Spoken time",duration_unit:"HH:MM",words_label:"Spoken words",words_unit:"Total",wpm_label:"Average speed",wpm_unit:"WPM",saved_label:"Time saved",saved_unit:"HH:MM",open_dialog_aria:"Open detailed stats for {{label}}"},stats_dialog:{title:"Statistics",subtitle:"Dictation · ask · translate · stays on device",close:"Close",range:{today:"Today","7d":"7d","30d":"30d","90d":"90d",all:"All"},metric_switcher_label:"Focus",kpi:{duration:"Time",words:"Words",wpm:"WPM",saved:"Saved",sessions:"Sessions"},main:{duration:{title:"Time trend",hint:"Total recording time per day (HH:MM)"},words:{title:"Words cumulative",hint:"Total words produced over time"},wpm:{title:"WPM trend",hint:"Average speaking speed per day"},saved:{title:"Time saved cumulative",hint:"Saved versus a {{baseline}} WPM typing baseline"},sessions:{title:"Sessions trend",hint:"Daily dictation session count"}},facet:{heatmap:{title:"When you dictate",hint:"Mon–Sun × 0–23h; darker means more usage",weekdays:"M,T,W,T,F,S,S"},top_apps:{title:"Top target apps",hint:"Where you write the most",unknown:"Unknown app"},wpm_by_mode:{title:"WPM × segment mode",hint:"REALTIME vs UTTERANCE side by side"},saved_equivalent:{title:"Worth translation",hint:"What that saved time looks like in everyday units",items:{typing_hours:"≈ {{value}} of typing",podcasts:"≈ {{value}} podcast episodes",coffees:"≈ {{value}} cups of coffee",books_pages:"≈ {{value}} pages of reading"}},session_dist:{title:"Session length distribution",hint:"Short / medium / long mix",buckets:{short:"Short ≤ 20 words",medium:"Medium 21–100 words",long:"Long > 100 words"}},duration_dist:{title:"Session length distribution",hint:"How long each recording lasts — short bursts vs long takes",buckets:{lt10s:"< 10s",s10_30:"10–30s",s30_60:"30–60s",s60_120:"1–2 min",gt120s:"> 2 min"}},type_mix:{title:"Usage mix",hint:"Dictation vs ask vs translate",buckets:{dictation:"Dictation",ask:"Ask",translate:"Translate"}},provider_dist:{title:"Provider mix",hint:"Sessions and average speed by ASR channel",unknown:"Unknown"},ai_refine_rate:{title:"AI refine usage",hint:"How often AI cleanup ran, and how long it took on average",used_label:"Used",avg_label:"Avg latency"},status_mix:{title:"Status mix",hint:"Success / failed / cancelled ratio",buckets:{success:"Success",failed:"Failed",cancelled:"Cancelled"}},asr_source_dist:{title:"ASR source mix",hint:"Realtime vs file transcription vs custom endpoint",buckets:{"saas-realtime":"Realtime","saas-rest":"File",byo:"Custom",unknown:"Unknown"}}},empty:"// No dictation records yet — give it a try //"}},jy={title:"History",subtitle:"History stays on this device.",search_placeholder:"Search history...",more:"More",stats:"Stats",refresh:"Refresh",retention:{label:"Keep history",title:"How long history is kept on this device",options:{forever:"Forever","90d":"90 days","30d":"30 days","7d":"7 days",off:"Don't save"}},open_folder:"Open recordings folder",open_folder_failed:"Failed to open recordings folder",delete_all:"Delete all history",filters:{all:"All",starred:"Starred",dictation:"Dictation",ask:"Ask anything",translate:"Translate"},buckets:{today:"Today",yesterday:"Yesterday",this_week:"This week",earlier:"Earlier"},empty:"// No records //",loading_more:"// loading more //",list_end:"// end · {{count}} total //",status:{success:"Success",failed:"Failed",cancelled:"Cancelled",retrying:"Regenerating"},player:{play:"Play",pause:"Pause"},row:{play:"Play original recording",pause:"Pause",resume:"Resume",stop:"Stop",copy:"Copy to clipboard",copied:"Copied",reinject:"Re-inject",export:"Export audio",delete:"Delete",retry:"Regenerate",transcribe:"Transcribe",retrying_label:"Regenerating",retrying_placeholder:"Regenerating transcript…",retry_no_audio:"No audio available — can't regenerate",retry_too_long:"Regeneration isn't supported for recordings over 5 minutes",retry_in_progress:"Regenerating…",retry_tooltip:"Regenerate transcript",failed_placeholder:"Your transcription was interrupted. You can regenerate it.",cancelled_placeholder:"{{duration}} recording cancelled · not transcribed · retry available",view_refined:"AI enhanced",view_translation:"Translation",view_raw:"Raw text",view_details:"View details",copy_debug:"Copy debug info",star:"Add to starred",unstar:"Remove from starred"},detail:{title:"Record details",description:"View full content of the history record and run actions",meta:{duration:"Duration",target:"Target app",error:"Error",warn:"Note",asr:"Speech-to-text",ai:"AI refine",segment_mode:"Mode",provider_kind:"Channel",credits:"Credits"},asr:{"saas-realtime":"OpenLoaf SaaS · realtime","saas-rest":"OpenLoaf SaaS · REST",byo:"Custom STT endpoint"},ai:{none:"Off"},segment_mode:{REALTIME:"Realtime",UTTERANCE:"Utterance"},provider_kind:{"saas-realtime":"OpenLoaf · realtime","saas-file":"OpenLoaf · file","tencent-realtime":"Tencent · realtime","tencent-file":"Tencent · file","aliyun-realtime":"Aliyun · realtime","aliyun-file":"Aliyun · file"},unknown:"—",empty_text:"(no text content)"},toast:{copy_success:"Copied to clipboard",copy_failed:"Copy failed",copy_debug_success:"Debug info copied",copy_debug_failed:"Failed to copy debug info",copy_debug_missing:"No request snapshot captured for this record (likely a release-build entry or a pre-dispatch failure)",retry_success:"Regenerated",retry_failed:"Regeneration failed",delete_failed:"Delete failed",export_success:"Audio exported",export_failed:"Export failed",refresh_failed:"Refresh failed",star_failed:"Failed to update starred status"},edit:{title:"Edit transcript",description:"Edit the final text of this history record",edit_button:"Edit",edit_tooltip:"Fix misrecognized words so the next session is more accurate",original_label:"Original (AI's final version)",diff_label:"Diff (red = removed, green = added)",edited_label:"Your edit",hint:"Save when done; learning happens in the background",placeholder:"Edit the text here…",save:"Save",revert:"Revert edit",revert_tooltip:"Discard your edit on this record and restore the AI's version",edited_chip:"Edited",edited_tooltip:"You've edited the text of this record",toast:{save_success:"Edit saved",save_failed:"Save failed",revert_success:"Restored original",dict_added:"Added to dictionary: {{term}}",dict_updated:"Dictionary updated: {{term}}",dict_removed:"Removed from dictionary: {{term}}",dict_hint:"AI learned from your edit"}},confirm_clear:{title:"Delete all history",description:"Clear local history records",body:"This will delete <count>{{count}}</count> records on this device. The action can't be undone.",tip:"// Consider exporting a backup first",confirm:"Confirm delete"}},Vy={title:"Dictionary",subtitle:"Custom vocabulary · up to 2,000 entries",new_word:"+ New word",new_domain:"+ New domain",bulk_add:"+ Bulk",select_mode:"Select",select_exit:"Done",select_all:"Select all",deselect_all:"Clear",selected_count:"{{count}} selected",bulk_delete:"Delete",bulk_delete_confirm:{title:"Delete {{count}} entries?",description:"This can't be undone. AI-added entries will be removed too.",cancel:"Cancel",confirm:"Delete {{count}}",deleting:"Deleting…",toast_done:"Deleted {{count}} entries"},search_placeholder:"Search entries...",filters:{all:"All",domains:"Domains",manual:"Manually added"},empty:"// No entries //",count_total:"// {{count}} total //",divider_label:"Custom entries",card:{domain_tooltip:"Selected domain",manual_tooltip:"Manually added",edit:"Edit",delete:"Delete"},domains:{helper:"Pick the topics you often dictate — the AI will lean on their terminology and tone.",limit_hint:"Up to {{limit}}",counter:"{{count}} / {{limit}} selected",items:{programming:"Programming",ai_ml:"AI / ML",medicine:"Medicine",law:"Law",finance:"Finance",academic:"Academic",engineering:"Engineering",electronics:"Electronics",marketing:"Marketing",psychology:"Psychology",design:"Design",film_production:"Film & Video",cybersecurity:"Cybersecurity",photography:"Photography",tcm:"TCM",automotive:"Automotive",maritime:"Maritime"},delete_custom:"Delete this custom domain"},new_domain_dialog:{title:"New domain",name_placeholder:"Domain name, e.g. Photo retouching",keywords_placeholder:"Common words (Enter to add, optional)",error_empty:"Name cannot be empty",error_duplicate:"A domain with that name exists",error_limit:"Limit reached ({{limit}})",error_invoke:"Save failed — please try again",submitting:"Saving…",submit:"Save"},new_dialog:{title:"New word",description:"Add a custom dictionary entry",term_label:"term",term_placeholder:"e.g. OpenSpeech",error_empty:"Term can't be empty",error_duplicate:"This entry already exists",submitting:"Adding…",submit:"Add"},bulk_dialog:{title:"Bulk add",description:"Paste anything — the AI picks out terms worth adding",step1_label:"// 01 · Paste",textarea_placeholder:`Paste a glossary, a list of bilingual pairs, or any text with proper nouns…
11
+ The AI keeps proper nouns, jargon, names, and product names — and skips everyday words.`,hint:"Word lists, bullet lists, or full paragraphs · up to 12,000 chars",analyze:"Analyze",analyzing:"Analyzing…",step2_label:"// 02 · Pick what to add",empty_result:"// Nothing worth adding in that text //",count_selected:"{{count}} / {{total}} selected",select_all:"Select all",deselect_all:"Clear",duplicate_badge:"Exists",back:"Paste again",confirm:"Add {{count}}",confirm_zero:"Add",confirming:"Adding…",toast_done:"Added {{added}} entries",toast_done_with_skip:"Added {{added}} · skipped {{skipped}}",error_empty:"Paste some text first",error_invoke:"Extraction failed, please retry",error_quota:"Dictionary is full ({{limit}} max)"}},By={nav:{home:"Home",toolbox:"Translate & Polish",meetings:"Meetings",history:"History",dictionary:"Dictionary",devices:"Wireless Mic"},account_fallback:"ACCOUNT",login:"LOGIN",credits:"Credits",time_left:"LEFT",time_minutes:"{{minutes}} MIN",settings:"Settings",tray:{update_found_title:"Update available",update_none:"You're on the latest version",update_check_failed:"Update check failed"}},Uy={placeholder:"Search...",clear:"Clear search",open:"Search"},Hy={title:"Translate & Polish",subtitle:"Speak or type. Polish, translate, or read it aloud.",flow_hint:"Provide input above · pick a tool below · get the processed result inline",input:{section_label:"// 01 · INPUT",tabs:{text:"Text",voice:"Voice",history:"History",file:"Audio file"},text_placeholder:"Type or paste text here…",dictate_hint:"Press the hotkey · talk to dictate",dictate_unbound:"Dictation hotkey not bound",voice_hint:"Hold the button and speak — release to transcribe.",voice_button_idle:"Hold to talk",voice_button_recording:"Listening…",voice_recorded:"Recorded · 0:08",history_hint:"Pick a previous transcription.",history_empty:"No history yet.",file_hint:"Drop an audio file (mp3 / wav / m4a) or click to choose.",file_button:"Choose audio file",file_loaded:"demo.mp3 · 12s · 1.2 MB",char_count:"{{count}} chars",right_label:"Text",right_hint_voice:"Transcribed from voice",right_hint_history:"From history",right_hint_file:"Transcribed from audio",right_empty:"Provide an input on the left first.",use_sample:"Use sample text",replaced_hint:"Replaced with previous step's output",restore_original:"Restore original",paste:"Paste",history:"History",clear:"Clear",clipboard_detected:"Clipboard content detected",clipboard_translate:"Paste & translate",clipboard_fill_only:"Paste only"},tools:{section_label:"// 02 · TOOLS",tabs:{polish:"Polish",translate:"Translate",tts:"Read aloud"},tutorial:{polish:{title:"Polish",headline:"Rewrite spoken drafts to match a scenario — email, message, report, you name it."},translate:{title:"Translate",headline:"Convert your text to another language while keeping its tone."},tts:{title:"Read aloud",headline:"Generate natural-sounding audio from any text."}},polish:{scenario_label:"Scenario",scenarios_empty:"No scenarios configured",add_scenario:"+ Add",examples:{email:"Email",wechat:"Message",report:"Report",meeting_notes:"Meeting notes",social_post:"Social post"}},translate:{target_label:"To",languages:{en:"English",zh:"中文","zh-TW":"繁體",ja:"日本語",ko:"한국어",fr:"Français",de:"Deutsch",es:"Español"}},tts:{voice_label:"Voice",speed_label:"Speed",voices:{natural_f:"Natural · F",natural_m:"Natural · M",calm_f:"Calm · F"},audio_placeholder:"▶ ━━━━━━━━━━━━━━━━━━━━ 0:08 / 0:12"},run:"Run",run_hint:"Configure the params above, then run.",ready_to_run:"Ready · click Run",running:"Running…",error_title:"Run failed",error:"Failed · {{message}}",rerun:"Rerun",copy:"Copy",save_history:"Save",use_as_input:"Use as input",download:"Download",elapsed:"{{seconds}}s",idle:"Awaiting input",output_empty:"Provide an input above to see the result here."},output:{idle_label:"Awaiting run",ready:"READY",waiting_input:"WAITING FOR INPUT…",generating:"GENERATING…",meta_chars:"{{count}} chars",meta_elapsed:"{{seconds}}s"},footer:{ui_only_notice:"// UI PREVIEW — actions are not wired up yet"}},Py={title:"Meetings",subtitle:"Long-form recording · Speaker labels · Timeline review",idle:{hint:"Click to start recording",recent:"Recent meetings",items:"items",empty:"No meetings yet",empty_transcript:"(empty)",loading:"Loading…",starting:"Connecting to provider…",language_support:"// Currently supports Chinese, English, Cantonese & several Mandarin dialects"},live:{recording:"Recording",paused:"Paused",pause:"Pause",resume:"Resume",stop:"Stop",listening:"Listening...",reconnecting:"Network hiccup, reconnecting… ({{attempt}}/{{max}})",reconnect_gave_up:"Reconnect failed, meeting disconnected"},speaker:{label:"Speaker {{letter}}",pending:"Speaker …",rename_hint:"Click to rename",rename_aria:"Rename speaker"},review:{back:"Back",speakers:"speakers",delete:"Delete",favorite:"Add to starred",unfavorite:"Remove from starred",delete_confirm:"Delete this meeting record?",summary:"Summary",transcript:"Transcript",generate_title:"Generate title",regenerate_title:"Regenerate",edit_title:"Rename title",summary_topic:"Topic",summary_speakers:"Speakers",summary_abstract:"Abstract",summary_section:"Segments",summary_loading:"Loading summary…",summary_generate:"Generate",summary_generating:"Generating…",summary_regenerate:"Regenerate",summary_failed:"Summary failed",summary_copy:"Copy",summary_copied:"Copied",summary_copy_success:"Summary copied to clipboard",summary_copy_failed:"Copy failed",transcript_copy:"Copy",transcript_copied:"Copied",transcript_copy_success:"Transcript copied to clipboard",transcript_copy_failed:"Copy failed",summary_retry:"Try again",summary_recharge:"Top up credits",summary_open_subscription:"Upgrade plan",summary_open_settings:"Open settings",summary_show_details:"Show technical details",summary_idle_hint:'Click "Generate" above to draft a Markdown summary using the active AI channel (Settings → AI → Prompts → Meeting summary to tweak the default prompt).',summary_empty_transcript:"This meeting has no transcript to summarize.",export:"Export",export_default_name:"meeting-{{date}}-{{shortId}}",export_md_filter:"Markdown",export_doc_title:"Meeting Transcript",export_meta_created:"Created",export_meta_duration:"Duration",export_meta_speakers:"Speakers",export_meta_segments:"Segments",export_success:"Exported to {{path}}",export_failed:"Export failed"},translate:{toggle:"Bilingual",target_lang:"Translation target language",hint:"Translated by AI · uses credits",translating:"Translating…"}},Ky={title:"Wireless Mic",subtitle:"Connect your OpenSpeech wireless microphone",bound_dashboard:{subtitle_online:"Connected · via {{channel}}",subtitle_provisioned:"Provisioned, connecting over Wi-Fi ({{ip}})…",subtitle_offline:"Offline · waiting for device",battery:"Battery",signal:"Signal",channel:"Channel",firmware:"Firmware",unbind:"Remove device",others_title:"Other bound devices",activate:"Activate",add_new:"Add device",back_to_devices:"Back to devices"},hub:{title_scanning:"Looking for nearby devices",subtitle_scanning:"Make sure your microphone is powered on and in pairing mode (first power-up or long-press reset for 5 seconds).",title_idle:"Search for nearby devices",title_found_one:"Found {{count}} device",title_found_other:"Found {{count}} devices",title_found:"Found {{count}} devices",subtitle_found:"Tap a device below to connect it to your computer.",title_no_adapter:"Bluetooth is off",subtitle_no_adapter:"Turn on Bluetooth in System Settings and try again.",connect:"Connect",unnamed_device:"Unnamed device",signal_strong:"Strong signal",signal_medium:"Medium signal",signal_weak:"Weak signal"},provision_status:{connecting:"Connecting",awaiting_challenge:"Waiting for code",waiting_confirm:"Confirm the code",pairing:"Verifying",waiting_provision:"Enter Wi-Fi",provisioning:"Provisioning",provision_failed:"Provisioning failed",provisioned:"All set"},connect_dialog:{title:"Connect to this device",subtitle:"You'll confirm a pairing code on the microphone screen for first-time setup.",cancel:"Cancel",done:"Done",connecting:"Connecting…",confirm_hint:"Check that the pairing code on the microphone screen matches the one below.",accept:"Confirm",reject:"Reject",pairing:"Verifying…",wifi_hint:"Enter the Wi-Fi network the microphone should join.",use_current_wifi:"Use current Wi-Fi",autofill_password_skipped:"Skipped password autofill — enter it manually.",autofill_failed:"Couldn't read current Wi-Fi — enter it manually.",ssid_label:"Wi-Fi name (SSID)",ssid_placeholder:"Select a Wi-Fi",ssid_pick_from_list:"Pick from list",ssid_manual_entry:"Enter SSID manually",psk_label:"Wi-Fi password",submit_wifi:"Start provisioning",provisioning:"Provisioning…",retry_provision:"Try again",provision_failed_generic:"Provisioning failed. Please check the Wi-Fi and retry.",provision_failed_stage_0:"Wrong Wi-Fi password or network not found.",provision_failed_stage_1:"Weak Wi-Fi signal or router refused the connection.",provision_failed_stage_2:"Enterprise Wi-Fi is not yet supported.",provision_failed_stage_3:"Wi-Fi connected, but the router didn't assign an IP.",provision_failed_stage_4:"No DNS available — check your router.",provision_failed_stage_5:"Wi-Fi connected, but the network is unreachable.",provision_failed_stage_6:"Can't find the desktop app on this network.",provision_failed_stage_7:"Desktop app didn't respond in time.",provision_failed_stage_8:"Credentials rejected — please sign in again.",success_title:"All set",success_subtitle:"The microphone joined Wi-Fi (IP: {{ip}}) and is ready to use."},paired_strip:{title:"Paired devices",remove:"Remove",confirm_remove:'Remove "{{label}}"?'},server:{title:"WS Server",running:"Running",stopped:"Stopped",host_label:"Host",mdns_label:"mDNS",connections_label:"Online",start:"Start",stop:"Stop"},list:{title:"Devices",empty_title:"Waiting for devices",empty_hint:"mDNS service is published. Connect an ESP32 mic on the same LAN to be discovered.",paired_section:"Paired"},ble_scan:{start:"Scan",scanning:"Scanning…",no_adapter:"No Bluetooth adapter",error_prefix:"Scan error: ",nearby_section:"Nearby",pair_cta:"Pair (soon)",pair_unavailable_hint:"SPAKE2 pairing and Wi-Fi provisioning are still on the P1 roadmap. Only discovery is wired up today."},card:{online:"Online",offline:"Offline",unnamed:"Unnamed",fw_short:"FW"},detail:{online:"Online",offline:"Offline",device_id:"ID",bound_user:"Bound user",first_paired:"First paired",last_seen:"Last seen",channel:"Channel",rtt:"RTT",rssi:"Signal",battery:"Battery",protocol:"Protocol",firmware:"Firmware",send_text_title:"Send text",send_text_placeholder:"Type the text to deliver to the device…",target_app_placeholder:"Target app (optional)",send_text:"Send",send_text_ok:"Text sent",send_text_failed:"Send failed",ota_title:"Push OTA",ota_pick_file:"Pick firmware",ota_no_file:"No firmware selected",ota_version_placeholder:"Target version 1.0.0",ota_push:"Push",ota_started:"OTA push started",ota_failed:"Push failed",last_text_result:"Latest transcript",rename_save:"Save",rename_cancel:"Cancel",rename_failed:"Rename failed",remove:"Remove device",remove_title:"Remove device",remove_desc:'Remove "{{label}}"? Connection will be closed and the registration cleared.',remove_confirm:"Remove",remove_ok:"Device removed",remove_failed:"Remove failed",no_selection_title:"No device selected",no_selection_hint:"Pick a device on the left to view details and run actions."},battery_tier:{normal:"Normal",low:"Low",critical:"Critical",no_record:"Unknown",deep_sleep:"Deep sleep"},events:{title:"Event stream",empty:"No events yet"}},fE={transcribe:zy,home:Ny,history:jy,dictionary:Vy,layout:By,search_box:Uy,toolbox:Hy,meetings:Py,devices:Ky},hE=Object.freeze(Object.defineProperty({__proto__:null,default:fE,devices:Ky,dictionary:Vy,history:jy,home:Ny,layout:By,meetings:Py,search_box:Uy,toolbox:Hy,transcribe:zy},Symbol.toStringTag,{value:"Module"})),qy={title:"Polish",empty:"No recent result to polish yet",cancel:"Cancel",save:"Polish & copy",saving:"Polishing…",learn_hint:"AI learns from this edit — future dictation gets sharper",close_aria:"Close"},Yy={saved_title:"Polish saved",saved_description:"The new text is on your clipboard — paste it back into the original input",save_failed_title:"Save failed"},pE={edit_last_record:qy,toast:Yy},_E=Object.freeze(Object.defineProperty({__proto__:null,default:pE,edit_last_record:qy,toast:Yy},Symbol.toStringTag,{value:"Module"})),Gy={section_index:"[04] System",title:"Settings",subtitle:"Configure dictation, model endpoints and app behavior. Changes apply instantly — no save needed.",dialog_title:"Settings",dialog_sr:"OpenSpeech settings"},Iy={title:"Reverted to OpenLoaf SaaS",description:"Your {{which}} custom provider didn't pass the test — switched to the cloud service",dictation:"dictation",ai:"AI refine",both:"dictation and AI refine",confirm_title:"Custom provider hasn't passed testing",confirm_description:"Your {{which}} custom provider hasn't been validated yet, so it can't be applied. Closing now will revert to the OpenLoaf SaaS cloud service.",confirm_back_to_test:"Back to test",confirm_proceed:"Revert to SaaS and close"},$y={general:"General",hotkeys:"Hotkeys",dictation:"Dictation",model:"Model",ai:"AI",prompts:"System prompts",about:"About",dev_hints:"Hint debug"},Xy={reset_all:"Reset all",reset_all_confirm:"Reset all hotkeys to their defaults?",reset_all_done:"Hotkeys restored to defaults"},Fy={shortcuts:"Keyboard shortcuts",language:"Language",audio:"Audio",asr_segment:"Dictation mode",text_injection:"Text injection",behavior:"Behavior",model_rest:"Large model (REST)",build:"Build",output:"Output",hints:"Hints"},Qy={interface_lang:"Interface language",translate_target_lang:"Translate target language",translate_target_lang_hint:"When the translate-dictation hotkey fires, the transcript is translated into this language and then injected at the cursor.",translate_output_mode:"Translate output",translate_output_mode_hint:'"Bilingual" keeps the source and appends the translation; "Target only" outputs just the translation, faster.',input_device:"Input device",input_level:"Input level",input_level_hint_listening:"Live level · listening on: {{name}}",input_level_hint:"Live microphone level",cue_sound:"Start / stop cue sound",restore_clipboard:"Restore clipboard after paste",restore_clipboard_hint:"Recommended to keep on",launch_startup:"Launch at login",close_to_tray:"Minimize to tray on close",close_to_tray_hint:"When on, closing the main window hides it to the tray; otherwise a confirm dialog appears each time.",update_policy:"Updates",update_policy_hint:"Choose how OpenSpeech handles new versions discovered in the background.",update_policy_options:{prompt:"Notify me",auto:"Auto-install when idle",disabled:"Off"},loading:"// loading settings…",dictation_output_lang:"Dictation output language",dictation_output_lang_hint:'Which language the dictation transcript is rendered in. "Auto" lets the upstream ASR decide, falling back to the interface language for tie-breaking.',translate_conflict_warning:"Target language matches the dictation output language — translation would be a no-op.",show_hints:"Show interactive hints",show_hints_hint:"Display teaching bubbles around the floating bar and result area; each one retires once you've learned it. Off hides all hint bubbles.",reset_hints:"Reset interactive hints",reset_hints_action:"Reset all",reset_hints_done:"Hints reset",hints_pending_count:"{{pending}} / {{total}} unlearned",hints_all_learned:"All learned"},Zy={system_default:"System default",system_default_with_current:"System default (currently: {{name}})",is_default_suffix:"{{name}} · system default",disconnected_with_fallback:"{{name}} · disconnected, using system default ({{fallback}})",disconnected:"{{name}} · disconnected"},Wy={realtime_label:"Realtime",realtime_hint:"Server splits at pauses and streams partials in real time. Best for long meeting captions, live transcription and other unattended scenarios.",utterance_label:"Whole utterance",utterance_hint:"Treat the whole recording as a single utterance and return the transcript only after you release the key. The model gets full context — more accurate and won't be split by pauses.",ai_refine_toggle:{label:"Enable AI enhancement",hint:'On top of "whole utterance", run an LLM pass to remove fillers, dedupe, and recognise self-corrections. Same language — no translation.',disabled_in_realtime:"Not available in realtime mode"}},Jy={streaming_inject:{label:"Stream characters into the input",hint:"On by default — characters land at the cursor as the model produces them. Turn off to paste the whole text in one shot, bypassing per-character interception by IMEs like WeChat or full-pinyin (which can swallow the first character or duplicate punctuation)."},clipboard_copy:{label:"Auto copy to clipboard",hint:"Off by default — OpenSpeech restores your previous clipboard contents after injection, so your copy queue stays clean. Turn on to keep the full text on the clipboard so you can paste it again manually."}},ev={byo_unavailable_tag:"// BYO-MODEL · not yet available",byo_unavailable_body:"Custom STT REST endpoints (endpoint URL / API Key / model name / test connection) aren't wired up yet. All dictation currently goes through OpenLoaf SaaS. This surface is under active development and will be enabled in the next release.",endpoint:"Endpoint URL",api_key:"API Key",api_key_hint:"Stored in the system keychain; saved automatically on blur.",model_name:"Model name",timeout_seconds:"Request timeout (seconds)",audio_format:"Audio format",test_connection_disabled:"Test connection (not yet available)",show_key:"Show API Key",hide_key:"Hide API Key",key_saved_toast:"API Key saved to system keychain",key_save_failed_toast:"Failed to save API Key: {{error}}"},tv={section_mode:"AI channel",mode_saas_label:"Cloud (recommended)",mode_saas_hint:"Use the fast chat model on your signed-in OpenLoaf account; billed by credits.",mode_custom_label:"Custom provider",mode_custom_hint:"OpenAI-compatible endpoints with your own API Key. Multiple providers allowed, but only one active at a time.",section_providers:"Custom providers",providers_empty:"No custom providers yet",provider_name:"Name",provider_base_url:"Base URL",provider_model:"Model",provider_api_key:"API Key",provider_api_key_hint:"Stored in the system keychain; saved automatically on blur.",provider_active:"Active",provider_set_active:"Set active",provider_remove:"Remove",provider_test:"Test",provider_test_running:"Testing…",provider_test_pass:"Test passed",provider_test_fail:"Test failed: {{message}}",provider_test_missing_fields:"Base URL or model is empty",provider_test_empty_reply:"Model returned no content",provider_add:"Add provider",provider_default_name:"New provider",provider_default_base_url:"https://api.openai.com/v1",provider_default_model:"gpt-4o-mini",section_prompts:"System prompts",prompts_hint:"Defaults follow the interface language. Edit to customize; the same custom prompt then applies to all languages.",prompts_intro:"The prompts AI uses in different scenarios. Edit them to shape the output. Changes save automatically.",prompt_tab_refine:"Dictation refine",prompt_tab_translate:"Translate",prompt_tab_polish:"Polish",prompt_tab_meeting:"Meeting summary",prompt_edit:"Edit",prompt_status_custom:"Custom",prompt_status_default:"Default",prompt_desc_refine:"After you release the dictation key, the AI rewrites the raw transcript into clean written text (typos, fillers, sentence breaks) and injects it into the current app.",prompt_desc_translate:"Triggered by the Translate hotkey to translate the transcript into the target language set above.",prompt_desc_polish:'Used by the AI Toolbox "Polish" page; pair it with the scenario list below (email, WeChat, etc.) to switch tone.',prompt_desc_meeting:"After the Meetings page transcribes a recording, this prompt formats it into a structured meeting note.",prompt_dialog_title_refine:"Dictation refine prompt",prompt_dialog_title_translate:"Translation prompt",prompt_dialog_title_meeting:"Meeting summary prompt",prompt_dialog_textarea_label:"System prompt",polish_dialog_title:"Polish settings",polish_dialog_subtitle:"Tune the polish system prompt and manage the scenario list shown in the AI Toolbox.",polish_dialog_tab_prompt:"Prompt",polish_dialog_tab_scenarios:"Scenarios",polish_dialog_prompt_label:"Polish prompt",polish_scenarios_title:"Polish scenarios",polish_scenarios_hint:`Source for the chip list at the bottom of the AI Toolbox "Polish" tab; the selected scenario's instruction is appended to the polish system prompt at runtime.`,polish_scenarios_empty:"No polish scenarios yet",polish_scenario_default_name:"New scenario",polish_scenario_remove:"Remove",polish_scenario_add:"Add scenario",polish_scenario_instruction_placeholder:"e.g. Target scenario: business email. Formal tone. Use greeting / body / sign-off paragraphs.",refine_dialog_subtitle:"Tune how AI cleans up your dictated text. Edit any rule, remove it, or reset everything back to the defaults.",refine_dialog_tab_rules:"Rules",refine_dialog_tab_examples:"Examples",refine_dialog_tab_overrides:"Per app",refine_dialog_advanced_badge:"Advanced",refine_status_count_one:"{{count}} rule",refine_status_count_other:"{{count}} rules",refine_status_default:"Default",refine_status_modified:"Modified",refine_rules_empty_after_clear:'All rules removed — the rules section will be skipped at runtime. Add a new rule below, or click "Reset to default" above to bring back the 6 defaults.',refine_rules_empty_my_rules:"No custom rules yet. AI is running on a built-in default set; if you want to tweak, write your own below or start from a default rule.",refine_rules_count:"{{current}} / {{max}}",refine_rule_add:"New rule",refine_rule_import_default:"Start from a default",refine_rule_import_picker_title:"Pick a default rule to add",refine_rule_clear_all:"Clear all",refine_rule_remove:"Remove",refine_rule_index:"Rule {{index}}",refine_rule_body_placeholder:"Tell AI how to handle your dictation. Separate paragraphs with blank lines.",prompt_panel_save_hint:"Changes save automatically.",advanced_title:"Advanced",app_override_rules_hint:"These rules apply only to this app, overriding the global rules above.",refine_panel_intro:"Teach AI: when you say something like this, clean it up like this. The more concrete each example is, the closer the output matches your style.",refine_examples_my_title:"My examples",refine_examples_my_hint:'Pair "spoken → desired output" so the model learns your style. Earlier entries take priority.',refine_examples_count:"{{current}} / {{max}}",refine_example_add:"Add example",refine_example_remove:"Remove",refine_example_input_label:"Spoken",refine_example_output_label:"Desired output",refine_example_focus_label:"Key point / focus (optional)",refine_example_target_label:"Where it applies",refine_example_input_placeholder_v2:"What you said into the mic (raw / messy / with fillers)",refine_example_output_placeholder_v2:"How you want it cleaned up (written, self-consistent, ready to paste)",refine_example_focus_placeholder_v2:"e.g. keep proper nouns; restore English tech terms",refine_example_target_option:{"*":"All apps (default)",chat:"Chat apps (WeChat / Slack / iMessage)",code:"Terminal / code editor",doc:"Docs / text editor",email:"Email",browser:"Browser",meeting:"Meeting",other:"Other"},app_overrides_title:"Per-app overrides",app_overrides_hint:"Configure rules and examples for a specific app: when a match hits, these rules take precedence and the examples are prepended to the global list. Only apps that have run refine (and thus have a stable appId) appear here.",app_overrides_empty:"No overrides yet",app_overrides_count:"{{current}} / {{max}}",app_override_add:"Add override",app_override_remove:"Remove",app_override_enabled:"Enabled",app_override_expand:"Expand",app_override_collapse:"Collapse",app_override_core_rules_label:"Override core rules (leave empty to use global)",app_override_core_rules_clear:"Clear",app_override_core_rules_placeholder:"App-specific <core_rules>...</core_rules>; empty means inherit the global core rules.",app_override_picker_title:"Pick an app to override",app_override_no_history:"No apps available — run refine in the target app once so it shows up in history.",prompt_reset:"Reset to default",section_history:"Context",include_history:"Send recent dictations as context",include_history_hint:"Recent transcripts help the model carry over tone and terminology.",recent_history_count:"Recent items to send",recent_history_count_hint:"Maximum number of recent dictations to attach. More items bias the model harder, but use more tokens.",minutes_ago:"minutes ago",history_truncated:"+{{count}} more words"},nv={en:"English",zh:"Simplified Chinese (简体中文)","zh-TW":"Traditional Chinese (繁體中文)",ja:"Japanese (日本語)",ko:"Korean (한국어)",fr:"French (Français)",de:"German (Deutsch)",es:"Spanish (Español)"},iv={target_only:"Target only",bilingual:"Bilingual (source + translation)"},av={label:"Dictation language",hint:`Pick the language you'll speak in. "Auto" lets the upstream ASR detect it; ambiguous cases fall back to the interface language.`,follow_interface:"Follow interface",auto:"Auto",zh:"Chinese",en:"English",ja:"Japanese",ko:"Korean",yue:"Cantonese"},sv={section_mode:"Dictation channel",mode_saas_label:"OpenLoaf Cloud (default)",mode_saas_hint:"Use the speech recognition managed by your OpenLoaf account, billed via credits. Shared between dictation and meeting transcription.",mode_custom_label:"Custom provider",mode_custom_hint:"Connect directly to Tencent Cloud / Aliyun with your own keys, bypassing the SaaS. Meeting transcription requires Tencent Cloud (built-in speaker diarization).",section_providers:"Custom providers",providers_empty:"No custom providers yet",add_tencent:"Add Tencent Cloud",add_aliyun:"Add Aliyun",vendor_tencent:"Tencent Cloud",vendor_aliyun:"Aliyun DashScope",active_label:"Active · {{vendor}}",set_active:"Set active",remove:"Remove",name_label:"Name",tencent_default_name:"Tencent Cloud ASR",tencent_app_id:"AppID",tencent_region:"Region",tencent_secret_id:"Secret ID",tencent_secret_key:"Secret Key",tencent_credentials_hint:"Stored in the OS keychain; saved automatically on blur. Get them from the Tencent Cloud console → API Keys.",tencent_cos_bucket_label:"COS Bucket",tencent_cos_bucket_placeholder:"myaudio-1234567890",tencent_cos_bucket_hint:"Required: recordings are uploaded to your Tencent COS bucket before transcription (single file ≤512MB). Leaving this blank falls back to base64 inline upload, which the Tencent file API caps at 5MB — anything larger will fail.",aliyun_default_name:"Aliyun DashScope",aliyun_api_key:"ApiKey",aliyun_api_key_hint:"Stored in the OS keychain; saved automatically on blur. Get it from the DashScope console.",test:"Test",test_running:"Testing…",test_pass:"Test passed: credentials are valid",test_fail:"Test failed: {{message}}",test_missing_fields:"Required fields are missing",verified_badge:"Verified",unverified_badge:"Unverified",test_code:{ok:"Test passed",unauthenticated:"Authentication failed: check your Secret/ApiKey",service_not_enabled:"Credentials valid, but the speech service is not yet enabled on this account",missing_fields:"Required fields are missing",network:"Network unreachable; check connectivity and firewalls",timeout:"Request timed out, please retry",rate_limited:"Rate limit hit",cos_unauthorized:"ASR credentials are valid, but this SecretId cannot access the COS bucket",cos_not_found:"ASR credentials are valid, but the COS bucket does not exist or the region does not match",oss_policy_failed:"ApiKey is valid, but fetching the OSS upload policy failed: this account may not have DashScope audio file resources enabled",unknown:"Unknown error"}},ov={version:"Version",platform:"Platform",license:"License",source:"Source code",check_update:"Check for updates",dev_build:"Development build",rerun_onboarding:"Re-run first-launch onboarding",install_now:"Install now",skip_version:"Skip this version",install_in_progress:"Downloading and installing update…",install_progress:"{{version}} · {{percent}}% · {{downloaded}} / {{total}}",install_starting:"{{version}} · {{downloaded}} downloaded",install_finalizing:"Download complete, installing…",install_failed:"Update install failed",update_channel:"Update channel",update_channel_stable:"Stable",update_channel_beta:"Beta (early access)",update_channel_hint:"Beta gets new features sooner but may be unstable. Switching back to Stable only delivers updates whose version is higher than the current beta.",open_log_dir:"Open log directory",saas_sdk_version:"SaaS SDK version"},lv={title:"Interaction hint debugger",subtitle:"Dev build only · regression harness for hint behavior",global_switch:"Show hints globally",reset_all:"Reset all",col_id:"ID",col_category:"Category",col_threshold:"Threshold",col_success:"Success count",col_dismissed:"Dismissed",col_should:"Should show",col_actions:"Actions",yes:"Yes",no:"No",dismiss:"Dismiss",reset:"Reset",force:"Force show",forcing:"Forcing",note:"Adding a hint: 1) extend HintId in settings.ts 2) register in HINT_REGISTRY (lib/hints.ts) 3) add overlay.json copy 4) call useHintBubble at the trigger site. The row appears here automatically."},mE={page:Gy,provider_rollback:Iy,tabs:$y,hotkeys:Xy,section:Fy,general:Qy,device:Zy,asr_segment:Wy,output:Jy,model:ev,ai:tv,translate_target_lang:nv,translate_output_mode:iv,dictation_lang:av,dictation_provider:sv,about:ov,dev_hints:lv},gE=Object.freeze(Object.defineProperty({__proto__:null,about:ov,ai:tv,asr_segment:Wy,default:mE,dev_hints:lv,device:Zy,dictation_lang:av,dictation_provider:sv,general:Qy,hotkeys:Xy,model:ev,output:Jy,page:Gy,provider_rollback:Iy,section:Fy,tabs:$y,translate_output_mode:iv,translate_target_lang:nv},Symbol.toStringTag,{value:"Module"})),rv="Feedback",uv="Open home",cv="AI Tools",dv="History",fv="Settings…",hv="Microphone",pv="Auto-detect",_v="Auto-detect ({{name}})",mv="Dictionary",gv="Check for updates",yv="Quit OpenSpeech",yE={feedback:rv,open_home:uv,open_toolbox:cv,open_history:dv,open_settings:fv,mic_submenu:hv,auto_detect:pv,auto_detect_with_name:_v,open_dictionary:mv,check_update:gv,quit:yv},vE=Object.freeze(Object.defineProperty({__proto__:null,auto_detect:pv,auto_detect_with_name:_v,check_update:gv,default:yE,feedback:rv,mic_submenu:hv,open_dictionary:mv,open_history:dv,open_home:uv,open_settings:fv,open_toolbox:cv,quit:yv},Symbol.toStringTag,{value:"Module"})),vv={ok:"确定",cancel:"取消",confirm:"确认",save:"保存",close:"关闭",retry:"重试",clear:"清除",remove:"删除",add:"添加",back:"返回",next:"下一步",done:"完成",skip:"跳过",copy:"复制",edit:"编辑",search:"搜索",loading:"加载中…"},bv={system:"跟随系统","zh-CN":"简体中文","zh-TW":"繁體中文",en:"English"},Sv={system_default:"跟随系统",system_default_with_current:"跟随系统(当前:{{name}})",auto_detect:"自动检测",none:"无"},bE={actions:vv,lang:bv,value:Sv},SE=Object.freeze(Object.defineProperty({__proto__:null,actions:vv,default:bE,lang:bv,value:Sv},Symbol.toStringTag,{value:"Module"})),Tv={title:"快捷键冲突",description_one:"下面这条快捷键无效,请重新绑定。直接关闭此弹窗会清除该绑定。",description_other:"以下 {{count}} 条快捷键无效,请重新绑定。直接关闭此弹窗会清除这些绑定。",cleared_toast_one:"已清除 1 条冲突的快捷键,稍后可在设置里重新绑定",cleared_toast_other:"已清除 {{count}} 条冲突的快捷键,稍后可在设置里重新绑定"},Av={title_pending:"正在为你完成刚才的转写",title_success:"转写完成",title_error:"转写未完成",description_pending:"登录已恢复,正在用刚才的录音继续走云端转写,请稍候…",description_success:"下面是这次录音的最终结果,点击右下角即可复制到剪贴板。",description_error:"登录已恢复,但用录音重新转写时再次失败。可以从历史记录里手动重试。",empty_transcript:"(未识别到内容)",copy:"复制结果",copied:"已复制",close:"关闭",close_disabled:"请稍候…"},xv={title:"登录 OpenLoaf",openloaf_note:"OpenSpeech 是 OpenLoaf 旗下产品,所有产品共用同一个 OpenLoaf 账号。",description:"选择一种登录方式以继续",subtitle:{idle:"选择登录方式继续",opening:"正在打开浏览器...",polling:"等待在浏览器完成授权",success:"登录成功"},providers:{wechat:"使用微信登录",google:"使用 Google 登录"},or:"或",byo_button:"使用自己的 STT 端点",byo_hint:"不想登录 OpenLoaf?填写你自己的 STT REST 端点,音频从本机直发,不经云端。",retry:"重试",close:"关闭",cancel:"取消登录",details_show:"查看详情",details_hide:"收起详情"},wv={title:"账户",description:"OpenSpeech 账户与订阅",loading:"// 正在加载 //",section:{identity:"身份",subscription:"订阅",recharge:"充值积分",session:"会话"},row:{email:"电子邮件",wechat:"微信账户",subscription:"订阅",credits_balance:"剩余积分"},membership:{free:"FREE / 免费",lite:"LITE / 轻享",pro:"PRO / 专业",premium:"PREMIUM / 旗舰"},subscribe_button:{default:"订阅 / 升级套餐",upgrade_to_premium:"升级到 PREMIUM",manage:"管理订阅"},subscribe_hint:"在 OpenLoaf 网站完成订阅与套餐管理。",recharge_button:"充值",recharge_hint:"1 元 = 100 积分。不订阅套餐也可直接充值。",logout_button:"退出登录",logout_busy:"正在退出...",logout_hint:"退出后将清除本地登录状态。本地录音、历史与词典将保留。"},Ev={title:"关闭到后台",description:"OpenSpeech 即将关闭主窗口,应用将继续在后台运行",body_1_prefix:"OpenSpeech 将继续在 ",body_1_highlight:"后台",body_1_suffix:" 运行,全局快捷键仍然可用。",body_2:"可通过系统托盘图标重新打开主窗口,或选择「退出」完全结束进程。",remember:"不再提醒",quit:"退出",stay:"后台运行"},Ov={title:"没有互联网连接",description:"您的计算机未连接到互联网,请检查网络后重试",body:"您的计算机未连接到互联网。请检查网络连接后重试。",still_offline:"仍未检测到网络",retry:"重试"},Cv={press_new:"按下新快捷键...",recording_hint:"ESC 取消 · 4 秒后自动退出",clear_title:"清除",clear_aria:"清除快捷键",error_prefix:"ERROR",error_illegal_combo:"非法组合",conflict_with:"已被「{{name}}」使用",conflict_reason:{equal:"已被「{{name}}」使用",subset_modifier_only:"与「{{name}}」修饰键集合互为子集,会出现幻影录音",subset_combo:"与「{{name}}」修饰键集合互为子集,按下时会双触发",double_tap_overlap_modifier:"与「{{name}}」共用同一颗修饰键,双击窗口会冲突"},replace:"替换",rebind:"重新录入",cancel:"取消",replaced_toast:"已替换「{{name}}」原本的绑定",undo:"撤销"},kv={default_title:"听写快捷键 / PUSH-TO-TALK",unbound:"未绑定",default_hint:"按一下开始 · 再按一次结束"},Rv={initializing:"INITIALIZING",tagline:"Speak less, write more.",loading:"Loading"},TE={hotkey_conflict:Tv,auth_recovery:Av,login:xv,account:wv,close_to_bg:Ev,no_internet:Ov,hotkey_field:Cv,hotkey_preview:kv,loading_screen:Rv},AE=Object.freeze(Object.defineProperty({__proto__:null,account:wv,auth_recovery:Av,close_to_bg:Ev,default:TE,hotkey_conflict:Tv,hotkey_field:Cv,hotkey_preview:kv,loading_screen:Rv,login:xv,no_internet:Ov},Symbol.toStringTag,{value:"Module"})),Mv={title:"会议录制中",description:"{{action}}已被暂停——请先结束当前会议录制再使用",action_dictate:"听写",action_translate:"翻译",action_ask_ai:"问 AI"},Dv={login_timeout:"登录超时,请重试",login_failed:"登录失败,请重试",login_connection_reset:"登录服务器连接被重置,请稍后重试",login_unreachable:"无法连接登录服务器,请检查网络后重试",internal:"内部错误,请稍后再试",not_authenticated:"未登录",not_authenticated_openloaf:"未登录 OpenLoaf",not_authenticated_openspeech:"未登录 OpenSpeech",session_expired:"会话已过期,请重新登录"},Lv={offline:"无互联网连接",unreachable:"网络不可达",service_unreachable:"无法连接到服务",service_unreachable_desc:"网络不可达或服务端异常,已取消本次录音",check_and_retry:"请检查网络后重试"},zv={start_failed:"录音启动失败",save_failed:"录音保存失败",mic_not_ready:"麦克风未就绪",realtime_not_started:"实时转写未启动",hotkey_sync_failed:"同步快捷键到 Rust 失败:{{error}}"},Nv={refine:"AI 整理",translate:"翻译"},jv={transcribe_failed:"转写失败",transcribe_empty:"未拿到转写结果",transcribe_empty_desc:"服务端超时或全程静音",transcribe_placeholder:"(未能获取转写结果)",session_timeout:"会话超时",saas_5xx:"SaaS 服务端错误(5xx)",saas_4xx:"SaaS 鉴权失败(4xx)",unknown:"未知错误"},Vv={copy_failed:"复制到剪贴板失败",paste_failed:"自动粘贴失败"},Bv={check_failed:"检查更新失败",available:"发现新版本 {{version}}"},Uv={action:"上报错误",sending:"上报中…",sent:"已上报",toast_success:"错误已上报,感谢反馈!",toast_failed:"上报失败:{{message}}",toast_auth_lost:"登录状态已失效,请重新登录后再上报",toast_network:"网络异常,无法上报,请稍后再试",toast_timeout:"请求超时,请检查网络后重试"},Hv={go_to_settings:"前往设置",generic:"操作失败",generic_hint:"发生了未预期的错误,请稍后重试。若反复出现,可点击「上报错误」把详情发给我们。",meeting_provider_unsupported:"当前通道不支持会议转录",meeting_provider_unsupported_hint:"请到「设置 → 听写」切换到「SaaS」或「自定义 → 腾讯」。",meeting_provider_not_configured:"未配置听写通道",meeting_provider_not_configured_hint:"请到「设置 → 听写」选择「SaaS」或新增「自定义 → 腾讯」供应商。",network_exit:"连接已断开",network_exit_hint:"实时语音识别连接被中断,请检查网络后重试。",idle_timeout:"长时间无声音被断开",idle_timeout_hint:"供应商在长时间静音后关闭了会话,点击「继续」可重连。",start_failed:"无法开始会议",mic_unavailable:"麦克风不可用",mic_unavailable_hint:"无法访问麦克风。请检查它是否被其他应用占用、是否已在系统设置里授予 OpenSpeech 麦克风权限,然后重试。",start_failed_hint:"未能启动会议录制。请检查网络与「设置 → 听写」配置后重试。",pause_failed:"无法暂停",pause_failed_hint:"未能暂停当前会议,请稍后重试。",resume_failed:"无法继续",resume_failed_hint:"未能继续当前会议,请检查网络后重试。",resume_blocked_dictation:"请先结束听写",resume_blocked_dictation_hint:"当前正在听写 / 翻译,麦克风被占用。结束后再继续会议录制。",history_save_failed:"保存会议记录失败",history_save_failed_hint:"会议记录未能保存到本地。请检查磁盘空间后重试。",history_open_failed:"打开会议记录失败",history_open_failed_hint:"未能打开这条会议记录,文件可能已损坏或被移动。",history_delete_failed:"删除会议记录失败",history_delete_failed_hint:"未能删除这条会议记录,请稍后重试。",unauthenticated_byok:"自定义供应商鉴权失败",unauthenticated_byok_hint:"腾讯返回了鉴权失败。请到「设置 → 听写」检查当前自定义供应商的 AppID / SecretId / SecretKey 是否填写正确。",insufficient_funds:"供应商余额不足",insufficient_funds_hint:"请充值腾讯语音识别账户,或切换到其他供应商。",engine_not_authorized:"腾讯账号未开通 16k_zh_en_speaker 引擎",engine_not_authorized_hint:"「实时说话人分离」是腾讯独立 SKU,「实时语音识别大模型」资源包并不覆盖。请到腾讯云语音识别控制台开通该引擎,或提工单确认:",open_tencent_console:"打开",unauthenticated_saas:"SaaS 登录已失效",unauthenticated_saas_hint:"请重新登录 OpenSpeech 后再开始会议。",insufficient_funds_saas:"SaaS 积分不足",insufficient_funds_saas_hint:"请前往个人中心充值积分,或切换到「自定义 → 腾讯」。",not_authenticated:"未登录",not_authenticated_hint:"SaaS 通道需要先登录 OpenSpeech。请登录后再开始会议,或切换到「自定义 → 腾讯」。",summary_insufficient_credits:"积分余额不足",summary_insufficient_credits_hint:"本次纪要生成需要消耗 OpenLoaf SaaS 积分,当前余额不足。完成充值或升级订阅后可继续生成;也可以到「设置 → AI」改用自定义模型。",summary_unauthorized:"SaaS 登录已失效",summary_unauthorized_hint:"登录状态过期,请重新登录 OpenSpeech 后再试。",summary_rate_limited:"请求过于频繁",summary_rate_limited_hint:"上游限流,稍等片刻再试。",summary_timeout:"请求超时",summary_timeout_hint:"AI 服务长时间未响应,请检查网络后重试。",summary_network:"网络异常",summary_network_hint:"无法连接到 AI 服务,请确认网络后重试。",summary_generic:"生成失败",summary_generic_hint:"AI 服务暂时无法完成本次任务,请稍后再试。",summary_empty_transcript:"没有可总结的内容",summary_empty_transcript_hint:"本次会议没有任何最终文字片段,无法生成纪要。",summary_no_active_custom_provider:"未选择自定义模型",summary_no_active_custom_provider_hint:"请到「设置 → AI」启用一个自定义供应商,或把模式切回 SaaS。"},xE={hotkey_blocked:Mv,auth:Dv,network:Lv,recording:zv,phase:Nv,stt:jv,clipboard:Vv,update:Bv,report:Uv,meetings:Hv},wE=Object.freeze(Object.defineProperty({__proto__:null,auth:Dv,clipboard:Vv,default:xE,hotkey_blocked:Mv,meetings:Hv,network:Lv,phase:Nv,recording:zv,report:Uv,stt:jv,update:Bv},Symbol.toStringTag,{value:"Module"})),Pv="反馈建议",Kv="反馈建议",qv="把使用过程中的问题或想法告诉我们。我们会读每一条反馈。",Yv="反馈类型",Gv={bug:"Bug 问题",feature:"功能建议",ui:"界面/交互",performance:"性能/卡顿",chat:"AI 对话",other:"其他"},Iv="内容",$v="描述一下你遇到的情况、复现步骤或者想要的功能…",Xv="联系邮箱(可选)",Fv="you@example.com",Qv="留下邮箱方便我们在解决后回复你;不留也能匿名提交。",Zv="附带最近日志",Wv="勾选后会把最近的应用日志一起发给我们,帮助定位问题。Bug 类反馈默认勾选。",Jv="读取日志失败,将不附带日志提交。",eb="提交反馈",tb="提交中…",nb="取消",ib={content_required:"请填写反馈内容(至少一句话)",email_invalid:"邮箱格式看起来不对"},ab={success:"反馈已提交,谢谢你的反馈!",auth_lost:"登录状态已失效,请重新登录后再提交",network:"网络异常,请稍后再试",timeout:"请求超时,请检查网络后重试",generic:"提交失败:{{message}}"},sb={menu_label:"反馈这条",dialog_title:"反馈这条记录",dialog_description:"告诉我们哪里识别错了、AI 整理得怎样,或者其它任何想法。我们会随这条意见一起收到你的原始录音、提示词与转写结果,便于分析改进。",context_summary:{type:"类型",duration:"时长",target_app:"目标应用",provider:"ASR 通道",ai_model:"AI 模型",created_at:"记录时间"},preview_label:"文本",preview_raw:"原始 ASR",preview_refined:"AI 整理",preview_edited:"已修改",preview_empty:"(空)",content_label:"你的意见",content_placeholder:"例:把「OpenLoaf」识别成了「open loaf」;或:希望 AI 整理时不要省略「嗯」…",include_audio_label:"随反馈一起上传原始录音",include_audio_hint:"勾选后我们能听到这条记录的真实音频。仅本条记录的录音会上传,不会发送其它历史。",include_audio_disabled:"这条记录没有保存录音",include_audio_needs_login:"需要登录后才能附带录音",include_audio_too_large:"录音超过 10 MB,将不附带音频提交",submit:"提交反馈",submit_loading:"提交中…",validation:{content_required:"写一句话告诉我们这条哪里不对吧"},toast:{success:"反馈已发送,谢谢!",audio_skipped:"录音过大,未附带音频;其余信息已发送",auth_lost:"登录已失效,请重新登录后再发",network:"网络异常,请稍后再试",timeout:"请求超时,请检查网络后重试",generic:"提交失败:{{message}}"}},EE={menu_label:Pv,dialog_title:Kv,dialog_description:qv,type_label:Yv,type:Gv,content_label:Iv,content_placeholder:$v,email_label:Xv,email_placeholder:Fv,email_hint:Qv,attach_logs_label:Zv,attach_logs_hint:Wv,attach_logs_failed:Jv,submit:eb,submit_loading:tb,cancel:nb,validation:ib,toast:ab,history:sb},OE=Object.freeze(Object.defineProperty({__proto__:null,attach_logs_failed:Jv,attach_logs_hint:Wv,attach_logs_label:Zv,cancel:nb,content_label:Iv,content_placeholder:$v,default:EE,dialog_description:qv,dialog_title:Kv,email_hint:Qv,email_label:Xv,email_placeholder:Fv,history:sb,menu_label:Pv,submit:eb,submit_loading:tb,toast:ab,type:Gv,type_label:Yv,validation:ib},Symbol.toStringTag,{value:"Module"})),ob={dictate_ptt:"听写",translate:"翻译听写",show_main_window:"打开主窗口",open_toolbox:"打开 AI 工具",edit_last_record:"优化上一条"},lb={dictate_ptt:"按下开始录音,松开后转写并写入光标处",translate:"按下开始录音,松开后翻译并写入光标处",show_main_window:"在任意应用中唤起 OpenSpeech 主窗口",open_toolbox:"在任意应用中跳到 AI 工具页",edit_last_record:"弹出快捷面板优化最近一条识别结果,主窗口不打扰"},rb={unbound:"未绑定",double_tap:"2× {{mod}}",left:"左",right:"右"},ub={needs_main_key:"需要配合主键使用",special_keys_locked:"Esc / Enter / 方向键等特殊键需在高级设置开启后使用",typing_key_needs_modifier:"字母 / 数字 / 空格 / 标点等输入键单按会拦截正常打字,必须配修饰键",fn_macos_only:"Fn 键仅在 macOS 可靠可用;请用 Alt + Win 或 Right Alt",modifier_only_no_main:"modifier-only 绑定不能包含主键",modifier_only_min:"至少需要一个修饰键",combo_disallowed_main:"Tab / Backspace / Delete / CapsLock / NumLock / ScrollLock 不可作为主键,误触代价过高",combo_no_fn:"Fn 键不能与主键组合,系统层无法注册",double_tap_no_main:"双击绑定不能包含主键",double_tap_single_mod:"双击只支持单个修饰键",double_tap_fn_macos:"macOS 双击 Fn 是系统听写默认快捷键,会被系统先吞"},cb={system_shortcut:"该组合可能与系统常用快捷键冲突",f_key_bare:"F1-F12 在多数 Mac 默认是亮度 / 音量等系统功能键",modifier_only_single_macos:"单修饰键会吞掉它的所有原生组合(如 ⌘+空格、⌥+方向键、⌃+空格)",modifier_only_single_windows:"单修饰键会吞掉它的所有原生组合(如 Alt+Tab、Win+E、Ctrl+C)",modifier_only_single_linux:"单修饰键会吞掉它的所有原生组合(如 Alt+Tab、Super+空格、Ctrl+C)"},CE={binding:ob,binding_hint:lb,format:rb,validation:ub,warning:cb},kE=Object.freeze(Object.defineProperty({__proto__:null,binding:ob,binding_hint:lb,default:CE,format:rb,validation:ub,warning:cb},Symbol.toStringTag,{value:"Module"})),db={subtitle:"// first run setup"},fb={tag:"// welcome to",headline_part1:"说出来。",headline_part2:"就成文。",subhead:"按一下快捷键开始说话,再按一下结束——文字立即出现在你正在使用的任何 App 里。"},hb={section_tag:"// step 01 / permissions · {{platform}}",title_macos:"授权 麦克风 与 辅助功能",title_windows:"授权 麦克风",title_linux:"选择麦克风与注入工具",recheck_all:"重新检测",recheck_all_title:"重新检测全部权限",recheck_one_title:"重新检测",summary_macos:"macOS 需要三项系统权限:「麦克风」(录音)、「辅助功能」(把转写的文字写到当前 App)、「输入监控」(监听全局快捷键)。系统的权限缓存与进程绑定——若已在系统设置勾选但仍显示未授权,点击右上角「重启 OpenSpeech」让新权限生效。",summary_windows:"Windows 需要授权「麦克风」(用于录音)。若你常用的目标程序以管理员身份运行,OpenSpeech 也需相同权限才能注入文字。",summary_linux:"Linux 不需要授权弹窗:选择一个 PipeWire / PulseAudio 输入设备,并确保安装了 ydotool / wtype(Wayland)或 xdotool(X11)即可。",badge_required:"必需",badge_recommended:"推荐",status_checking:"检测中",status_granted:"已授权",primary_acknowledged:"我已知晓",primary_open_settings:"去系统设置",primary_request:"请求授权",primary_grant:"授权",tcc_hint:"已勾选但仍提示未授权?在系统设置该权限列表里移除 OpenSpeech 后重新加入,再点「重启 OpenSpeech」。",footer_next:"下一步",footer_relaunch:"重启 OpenSpeech",footer_hint_ok:"接下来 2 步:登录 → 试用",footer_hint_relaunch:"授权后请重启 · 重启后将自动进入下一步",mic:{title:"麦克风",title_linux:"麦克风设备",rationale:"用于录制你的语音并送到识别引擎。",rationale_linux:"Linux 不需要授权弹窗;从 PipeWire / PulseAudio 选一个输入设备即可。",hint_macos:"授权位置:系统设置 → 隐私与安全性 → 麦克风",hint_windows:"授权位置:Windows 设置 → 隐私 → 麦克风"},accessibility:{title:"辅助功能",rationale:"用于把识别出的文字模拟键盘输入到当前焦点的输入框。",hint_macos:"授权位置:系统设置 → 隐私与安全性 → 辅助功能"},input_monitoring:{title:"输入监控",rationale:"用于在你正在使用其它 App 时,监听全局快捷键(如 Fn / Alt+Win)触发录音。",hint_macos:"授权位置:系统设置 → 隐私与安全性 → 输入监控"},inject_tools:{title_windows:"目标程序权限提示",rationale_windows:"若你常用的程序以管理员身份运行(如 cmd),OpenSpeech 也需要相同权限才能注入文字。",title_linux:"检测注入工具",rationale_linux:"Wayland 下需要 ydotool / wtype,X11 下需要 xdotool。OpenSpeech 会自动检测。"}},pb={section_tag:"// step 02 / account",title:"登录 OpenLoaf 账号",subtitle_openloaf:"OpenSpeech 是 OpenLoaf 旗下产品,所有 OpenLoaf 产品共用同一个账号与积分。",bonus_main:"新用户立即到账 200 积分",bonus_minutes_prefix:"· 约",bonus_minutes_value:"30 分钟",bonus_minutes_suffix:"语音",method_wechat_label:"微信登录",method_wechat_sub:"扫码即可登录",method_google_label:"Google 登录",method_google_sub:"浏览器跳转登录",status_success:"登录成功,正在进入下一步…",status_opening:"正在打开浏览器…",status_polling:"等待在浏览器完成授权…",cancel:"取消",advanced_collapse:"↑ 收起",advanced_expand:"↓ 我有自己的 STT 端点",advanced_desc:"配置自定义 REST STT 端点(OpenAI / Groq / Deepgram / 自部署)。此选项仅推荐给开发者;普通用户请用上方账号登录。",advanced_cta:"跳过登录,去配置自定义端点",error_default:"登录失败,请重试",error_reset:"登录服务器连接被重置,请重试",error_timeout:"登录超时,请重试",error_network:"无法连接登录服务器,请检查网络后重试"},_b={section_tag:"// step 03 / try it",title:"试一次。",subhead:"按一下下方快捷键开始 · 说一句话 · 再按一下结束",checklist_tag:"// CHECKLIST",checklist:{step1:"按一下听写快捷键开始",step2:"对着麦克风说一句话",step3:"再按一下结束",step4:"看到文字写入下方"},mock_slices:["今","今天","今天天气","今天天气真好","今天天气真好,","今天天气真好,我打开","今天天气真好,我打开了 OpenSpeech","今天天气真好,我打开了 OpenSpeech 试试看。"],hotkey_title:"你的听写快捷键",hotkey_hint:"按一下开始 · 再按一次结束",samples_label:"AUDIO · {{count}} SAMPLES",live_transcript_tag:"// LIVE TRANSCRIPT",transcript_chars:"{{count}} CHARS",transcript_placeholder:"实时转写文字将出现在这里…",completed_title:"配置完成,可以开始使用了",completed_desc:"正式使用时光标在哪个 App,文字就写到哪个 App。",reset:"重置",mock_running:"演示中…",mock_run:"▶ 模拟一次",finish:"完成引导",skip_finish:"跳过并完成",status:{ready_tag:"// READY",ready_primary:"开始说话…",ready_secondary:"Esc 取消",listening_tag:"// LISTENING",listening_primary:"再按一次快捷键 结束并转写",listening_secondary:"Esc 取消本次录音",transcribing_tag:"// TRANSCRIBING",transcribing_primary:"正在转写…",transcribing_secondary:"Esc 放弃这次结果",injecting_tag:"// INJECTING",injecting_primary:"正在写入输入框…",error_tag:"// ERROR",error_primary:"出错了,检查日志或重试",idle_tag:"// IDLE"}},RE={header:db,welcome:fb,permissions:hb,login:pb,try_it:_b},ME=Object.freeze(Object.defineProperty({__proto__:null,default:RE,header:db,login:pb,permissions:hb,try_it:_b,welcome:fb},Symbol.toStringTag,{value:"Module"})),mb={cancel:"取消",confirm:"确定",close_result:"关闭结果",cancel_keep:"结束并保留音频",skip_refine:"跳过 AI 优化,使用原始转写"},gb={target:"翻译目标语言:{{lang}}",mode_label:"翻译模式",lang:{en:"英文",zh:"中文","zh-TW":"繁体中文",ja:"日文",ko:"韩文",fr:"法文",de:"德文",es:"西班牙文"}},yb={to_translate:"切换为翻译模式",to_dictation:"切换为听写模式",tap_again_to_output:"再按 {{hotkey}} 输出"},vb={error_fallback:"错误",transcribing:"正在转写中…",refining:"AI 优化中…",injecting:"正在输出中…",translating:"正在翻译中…"},bb={tag:{ready:"// READY",listening:"// LISTENING",transcribing:"// TRANSCRIBING",injecting:"// INJECTING",error:"// ERROR",idle:"// IDLE",processing:"// PROCESSING"},primary:{ready:"开始说话…",listening:"再按一次快捷键 结束并转写",transcribing:"正在转写…",injecting:"正在写入输入框…",error:"出错了,检查日志或重试",result:"已写入输入框 · 按快捷键开始下一次"},secondary:{ready:"Esc 取消",listening:"Esc 取消本次录音",transcribing:"Esc 放弃这次结果",result:"或点击 ✕ 关闭"},placeholder:"实时转写文字将出现在这里…",utterance_timer_label:"整句模式",result_label:{original:"原文",translation:"译文",polished:"润色版"},result_stats:{recording:"录音",response:"响应"},dictate_status:{ai_on:"AI 优化已启用",ai_off:"AI 优化未启用"},mode_action:{dictate:"听写",translate:"翻译"},mode_segment:{utterance:"整句",realtime:"实时"},action:{stop:"结束并转写",stop_translate:"结束并翻译",cancel:"取消本次录音",retry_hint:"按快捷键重试",kbd_esc:"Esc",copy:"复制",copied:"已复制",edit:"修改",refine:"润色",refining:"润色中…",translate:"翻译",translating:"翻译中…"},coming_soon:"即将上线",coming_soon_tag:"// SOON",refine_scenario:{menu_aria:"选择润色场景",helper:"选场景,提升润色精度",count:"{{count}} 个场景",limit_hint:"最多选 3 个"},translate_lang:{menu_aria:"选择翻译目标语言"},meter:{live:"LIVE",chars:"{{count}} CHARS",samples:"AUDIO · {{count}} SAMPLES"}},Sb={stt_start_failed:{title:"实时转写未启动",description:"{{reason}} · 本次仅本地录音"},recording_start_failed:{title:"录音启动失败"},mic_start_failed:{title:"麦克风启动失败",reasons:{"no-input-device":"未找到可用的麦克风设备。请检查系统设置 → 声音 → 输入。","permission-denied":"未授予麦克风权限。请到「系统设置 → 隐私与安全性 → 麦克风」开启 OpenSpeech 权限。","device-busy":"麦克风被其它应用独占。请点击系统右上角控制中心 → 麦克风,关闭占用方后重试。","device-config-unsupported":"当前麦克风的采样率 / 通道配置不被支持。请到系统设置 → 声音 → 输入查看设备状态。","device-removed":"麦克风设备已断开。如使用 USB / 蓝牙麦克风,请重新连接后再试。",generic:"无法启动麦克风音频流。详见日志或重试一次。"}},mic_silence:{title:"似乎没拾到声音",description:"已录制 {{seconds}} 秒但未检测到声音。可能麦克风被遮挡 / 被其它应用独占 / 音量太低。"},transcribe_failed:{title:"转写失败",no_transcript:"未识别到内容,可在历史里点重试"},byok_switch_to_saas:{action:"切到云端",switched_title:"已切换到 OpenLoaf 云端",switched_description:"请按快捷键重新录音"},recording_save_failed:{title:"录音保存失败"},clipboard_failed:{title:"复制到剪贴板失败"},paste_failed:{title:"自动粘贴失败",description:"文字已复制,请手动按 Cmd/Ctrl+V"},not_logged_in:{title:"未登录 OpenSpeech",description:"请登录后再使用语音输入",action:"登录"},dictation_fallback:{title:"已切换到 OpenLoaf SaaS",description:"自定义供应商尚未配置,本次转写已自动改用云端服务"},ai_refine_auto_fallback:{title:"AI 改写已切换到 OpenLoaf SaaS",description:"自定义 AI 供应商尚未配置完成,已自动改用云端服务"},ai_refine_custom_failed:{title:"AI 改写失败(自定义供应商)",description_missing_key:"未找到自定义供应商的 ApiKey,可点击按钮切回云端服务",description_runtime:`自定义供应商无法访问:{{error}}
12
+ 可点击按钮切回云端服务`,action:"切到 SaaS"},asr_error:{title:"转写异常",unknown:"未知错误"},worker_dead:{title:"语音通道异常中断",description:"已停止本次录音,请重新开始",error_message:"语音通道异常中断,已停止录音"},insufficient_credits:{title:"余额不足",description:"已取消本次转写,请前往账户页充值",error_message:"余额不足,已取消本次转写"},session_timeout:{title:"会话超时",description:"达到 2 小时服务端上限"},preflight_failed:{title:"无法开始录音"},aborted_saved:{title:"已取消,未转录",description:"录音已保存到历史"},silent_recording:{title:"未检测到语音"},realtime_degraded:{title:"实时识别异常",description:"正在用录音重转,请稍候",realtime_mode:"已保留前半段,可在历史里重试整段"}},Tb={placeholder:"(未能获取转写结果)",aborted_placeholder:"(已取消,未转录)"},Ab={label:"已录",aria:"已录 {{duration}}"},xb={title:"没找到能输入的位置",hint:"已复制 · 按 {{key}} 粘贴"},wb={title:"识别失败",retry:"重试",retrying:"重试中…",close:"关闭"},Eb={stt_not_authenticated:"未登录 OpenLoaf",stt_5xx:"SaaS 服务端错误(5xx)",stt_4xx:"SaaS 鉴权失败(4xx)",stt_mic_not_ready:"麦克风未就绪",stt_network:"网络不可达",stt_unknown:"转写失败,请稍后重试",sync_hotkey_failed:"同步快捷键到 Rust 失败:{{error}}",preflight_permission_denied:"未授予麦克风权限",preflight_no_device:"未找到可用麦克风",byok_not_implemented:"自定义 BYOK 通道开发中,将在下个版本启用",byok_missing_credentials:"自定义供应商凭证缺失,请到设置 → 听写 → 自定义供应商配置",byok_keyring_error:"无法从系统密钥链读取自定义供应商凭证",file_too_large_for_tencent_byok:"单个文件超过腾讯 BYOK 文件转写上限(约 5 分钟),请改用 REALTIME 模式或缩短录音",tencent_task_failed:"腾讯任务执行失败:{{msg}}",tencent_task_timeout:"腾讯任务超时(>24 分钟未返回结果)",transcribe_timeout:"转写请求超时(服务端无响应,已自动结束等待)",tencent_unauthenticated:"腾讯 BYOK 鉴权失败 —— 请检查设置里的 SecretId / SecretKey",tencent_rate_limited:"腾讯 BYOK 触发限流,请稍候再试",tencent_cos_unauthenticated:"腾讯 COS 鉴权失败 —— 请检查 SecretId / SecretKey 与存储桶权限",tencent_cos_forbidden:"腾讯 COS 拒绝了上传 —— 请确认 Bucket 名称、Region 与访问策略",tencent_cos_network:"腾讯 COS 网络异常 —— 请检查网络后重试",tencent_cos_unknown:"腾讯 COS 上传失败(未知错误)",unauthenticated_byok:"自定义凭证鉴权失败:请检查 SecretId / SecretKey",insufficient_funds:"腾讯云账户余额不足或服务未开通",idle_timeout:"长时间无音频,已自动断开",rate_limited:"供应商触发限流,请稍候再试",aliyun_invalid_audio_format:"音频格式不被阿里 DashScope 支持,请检查采样率与位深",aliyun_quota_exceeded:"阿里 DashScope 配额已用尽",aliyun_unauthenticated:"阿里 DashScope 鉴权失败 —— 请检查设置里的 ApiKey",aliyun_rate_limited:"阿里 DashScope 触发限流,请稍候再试",aliyun_upload_failed:"阿里 DashScope OSS 上传失败:{{msg}}",aliyun_filetrans_failed:"阿里 DashScope 任务执行失败:{{msg}}",aliyun_filetrans_timeout:"阿里 DashScope 任务超时(>24 分钟未返回结果)",aliyun_file_too_large:"文件大小超过阿里 DashScope BYOK 单文件上限(默认 100MB)"},Ob={aria:{dismiss:"不再显示该提示"},recordingControls:{text:"松开结束 · ESC 取消"},resultActions:{text:"⌘C 复制 · 编辑 · 润色 · 翻译"},firstResultConfirm:{text:"光标放在输入框,说完自动写入",action_confirm:"知道了"},appFirstInject:{text:"识别成功,结果已输入到 {{app}}"}},DE={aria:mb,translate:gb,mode_switch:yb,status:vb,panel:bb,toast:Sb,transcript:Tb,long_recording:Ab,result:xb,transcribeError:wb,error:Eb,hints:Ob},LE=Object.freeze(Object.defineProperty({__proto__:null,aria:mb,default:DE,error:Eb,hints:Ob,long_recording:Ab,mode_switch:yb,panel:bb,result:xb,status:vb,toast:Sb,transcribeError:wb,transcript:Tb,translate:gb},Symbol.toStringTag,{value:"Module"})),Cb={too_long_for_utterance:"单次录音超过 5 分钟,UTTERANCE 模式不支持,请切换到 REALTIME 模式",aliyun_oss_upload_failed:"阿里云 OSS 上传失败,凭证可能已过期或网络不稳定",aliyun_filetrans_failed:"阿里云文件转写任务失败,请稍后重试",aliyun_file_too_large:"文件超过 100 MB,已达到阿里云 OSS 单文件上限",tencent_cos_upload_failed:"腾讯云 COS 上传失败,请检查凭证与网络",tencent_cos_bucket_required:"需要先在听写设置中填写腾讯 COS 存储桶才能转写(旧凭证可能没填)"},kb={hero:{title_line1:"说出来。",title_line2:"就成文。",description:"按一下快捷键,开口说话,再按一下结束——文字即刻出现在任意应用中。不绑定编辑器,录音只留本机,无任何遥测。",feature_push_to_talk:"// PUSH-TO-TALK 按键听写",feature_cross_platform:"// 跨平台 WIN · MAC · LINUX"},hotkey_hint:"按一下快捷键开始录音,再按一下结束并把文字写入当前输入框。按 <esc>Esc</esc> 取消;焦点必须在可编辑区域。",translate_hint:"按一下翻译快捷键开始录音,再按一下结束。系统会先转写再翻译为目标语言,并写入当前输入框。",translate_bilingual:"双语输出",translate_bilingual_aria:"双语输出(原文 + 译文)",edit_hotkey:"编辑快捷键",edit_hotkey_dialog_title:"编辑快捷键",edit_hotkey_dialog_description:"录入或修改当前快捷键绑定。",quick_dict:{button_aria:"添加新词",title:"我的词典",empty:"// 还没有任何词条 //",domains_label:"// 常用领域"},hotkey_tab:{dictate:"听写",translate:"翻译"},hotkey_title:{dictate:"听写 / PUSH-TO-TALK",translate:"翻译 / TRANSLATE"},dictation_starred:"已收藏",dictation_star_add:"加入收藏",stats:{section_title:"今日 / 本次会话",section_title_today:"今日会话统计",section_title_all:"累计会话统计",tab_today:"今日",tab_all:"累计",live_metrics:"// LIVE METRICS",duration_label:"口述时长",duration_unit:"HH:MM",words_label:"口述字数",words_unit:"总计",wpm_label:"平均速度",wpm_unit:"字/分钟",saved_label:"节省时间",saved_unit:"HH:MM",open_dialog_aria:"查看 {{label}} 详细统计"},stats_dialog:{title:"数据统计",subtitle:"含听写 / 问 AI / 翻译 · 数据仅本机",close:"关闭",range:{today:"今日","7d":"近 7 天","30d":"近 30 天","90d":"近 90 天",all:"全部"},metric_switcher_label:"聚焦",kpi:{duration:"时长",words:"字数",wpm:"WPM",saved:"节省",sessions:"次数"},main:{duration:{title:"时长走势",hint:"每日累计录音时长(HH:MM)"},words:{title:"字数累计",hint:"随时间累积的总产出字数"},wpm:{title:"WPM 走势",hint:"每日平均口述速度"},saved:{title:"节省累计",hint:"相对 {{baseline}} WPM 打字基线累计省下的时间"},sessions:{title:"次数走势",hint:"每日听写会话数"}},facet:{heatmap:{title:"活跃时段",hint:"周一–周日 × 0–23 时;色越深用得越多",weekdays:"一,二,三,四,五,六,日"},top_apps:{title:"Top 目标应用",hint:"你最常在哪些应用里写字",unknown:"未知应用"},wpm_by_mode:{title:"WPM × 分段模式",hint:"REALTIME 与 UTTERANCE 的速度对比"},saved_equivalent:{title:"等价折算",hint:"把节省的时间换算成更直观的单位",items:{typing_hours:"≈ 打字 {{value}}",podcasts:"≈ 听 {{value}} 集播客",coffees:"≈ 喝 {{value}} 杯咖啡",books_pages:"≈ 看 {{value}} 页书"}},session_dist:{title:"单次字数分布",hint:"短句、中段、长稿各占多少",buckets:{short:"短句 ≤ 20 字",medium:"中段 21–100 字",long:"长稿 > 100 字"}},duration_dist:{title:"单次时长分布",hint:"按一次录音的长度分桶,看你说短句多还是说长稿多",buckets:{lt10s:"< 10 秒",s10_30:"10–30 秒",s30_60:"30–60 秒",s60_120:"1–2 分钟",gt120s:"> 2 分钟"}},type_mix:{title:"类型分布",hint:"你都用 OpenSpeech 做什么——听写、问 AI 还是翻译",buckets:{dictation:"听写",ask:"问 AI",translate:"翻译"}},provider_dist:{title:"通道分布",hint:"不同 ASR 通道的次数与平均速度",unknown:"未知通道"},ai_refine_rate:{title:"AI 优化使用率",hint:"多少次会话用了 AI 整理;以及平均整理耗时",used_label:"已使用",avg_label:"平均耗时"},status_mix:{title:"成功率",hint:"成功 / 失败 / 取消 三态占比",buckets:{success:"成功",failed:"失败",cancelled:"已取消"}},asr_source_dist:{title:"ASR 通道分布",hint:"实时 / 文件转写 / 自定义端点 各占多少",buckets:{"saas-realtime":"实时","saas-rest":"文件转写",byo:"自定义",unknown:"未知"}}},empty:"// 还没有听写记录,去主界面试试 //"}},Rb={title:"历史记录",subtitle:"历史记录保存在本设备。",search_placeholder:"搜索历史...",more:"更多",refresh:"刷新",stats:"统计",retention:{label:"保留时长",title:"本机历史记录保留多久",options:{forever:"永远","90d":"90 天","30d":"30 天","7d":"7 天",off:"不保存"}},open_folder:"打开录音文件夹",open_folder_failed:"打开录音文件夹失败",delete_all:"删除全部历史",filters:{all:"全部",starred:"收藏",dictation:"听写",ask:"随便问",translate:"翻译"},buckets:{today:"今天",yesterday:"昨天",this_week:"本周",earlier:"更早"},empty:"// 暂无记录 //",loading_more:"// 加载更多 //",list_end:"// 已到底 · 共 {{count}} 条 //",status:{success:"成功",failed:"失败",cancelled:"已取消",retrying:"重新识别中"},player:{play:"播放",pause:"暂停"},row:{play:"播放原始录音",pause:"暂停",resume:"继续播放",stop:"停止播放",copy:"复制到剪贴板",copied:"已复制",reinject:"重新注入",export:"导出音频",delete:"删除",retry:"重新识别",transcribe:"重新识别",retrying_label:"重新识别中",retrying_placeholder:"正在重新识别…",retry_no_audio:"无可用音频,无法重新识别",retry_too_long:"超过 5 分钟的录音暂不支持重新识别",retry_in_progress:"重新识别中…",retry_tooltip:"重新识别这段录音",failed_placeholder:"这段录音上次识别被中断,可以重新识别一次。",cancelled_placeholder:"{{duration}} 录音已取消,未识别 · 可重新识别",view_refined:"AI 优化",view_translation:"译文",view_raw:"原始文本",view_details:"查看详情",copy_debug:"复制调试信息",star:"加入收藏",unstar:"取消收藏"},detail:{title:"记录详情",description:"查看历史记录完整内容并执行操作",meta:{duration:"时长",target:"目标应用",error:"错误",warn:"备注",asr:"音频识别",ai:"AI 优化",segment_mode:"模式",provider_kind:"通道",credits:"积分"},asr:{"saas-realtime":"OpenLoaf SaaS · 实时识别","saas-rest":"OpenLoaf SaaS · REST 转写",byo:"自定义 STT 端点"},ai:{none:"未启用"},segment_mode:{REALTIME:"实时",UTTERANCE:"整句"},provider_kind:{"saas-realtime":"OpenLoaf 实时","saas-file":"OpenLoaf 文件","tencent-realtime":"腾讯实时","tencent-file":"腾讯文件","aliyun-realtime":"阿里实时","aliyun-file":"阿里文件"},unknown:"—",empty_text:"(无文本内容)"},toast:{copy_success:"已复制到剪贴板",copy_failed:"复制失败",copy_debug_success:"调试信息已复制",copy_debug_failed:"复制调试信息失败",copy_debug_missing:"该记录未捕获到请求快照(可能为正式版录入或调用前已失败)",retry_success:"重新识别成功",retry_failed:"重新识别失败",delete_failed:"删除失败",export_success:"音频已导出",export_failed:"导出失败",refresh_failed:"刷新失败",star_failed:"收藏状态更新失败"},edit:{title:"修改记录",description:"修改这条历史记录的最终文本",edit_button:"修改",edit_tooltip:"把识别错误的地方改对,下次更准",original_label:"原始内容(AI 给的最终版)",diff_label:"修改对比(红色=删除,绿色=新增)",edited_label:"你的修改",hint:"改完保存即可,系统会异步学习",placeholder:"在这里修改文本…",save:"保存",revert:"撤销修改",revert_tooltip:"丢弃这条记录的修改,恢复到 AI 原版",edited_chip:"已修改",edited_tooltip:"你修改过这条记录的文本",toast:{save_success:"已保存修改",save_failed:"保存失败",revert_success:"已恢复原版",dict_added:"已添加字典:{{term}}",dict_updated:"已更新字典:{{term}}",dict_removed:"已删除字典:{{term}}",dict_hint:"AI 根据你的修改自动学习"}},confirm_clear:{title:"删除全部历史",description:"清空本机历史记录",body:"将删除本机的 <count>{{count}}</count> 条历史记录,操作不可撤销。",tip:"// 建议先导出备份",confirm:"确认删除"}},Mb={title:"词典",subtitle:"自定义词汇 · 最多 2,000 条",new_word:"+ 新词",new_domain:"+ 新建领域",bulk_add:"+ 批量",select_mode:"选择",select_exit:"退出选择",select_all:"全选",deselect_all:"全不选",selected_count:"已选 {{count}}",bulk_delete:"删除",bulk_delete_confirm:{title:"删除 {{count}} 条词条?",description:"删除后无法恢复。AI 自动收录的条目也会一起删除。",cancel:"取消",confirm:"删除 {{count}} 条",deleting:"删除中…",toast_done:"已删除 {{count}} 条词条"},search_placeholder:"搜索词条...",filters:{all:"全部",domains:"常见领域",manual:"手动添加"},empty:"// 暂无词条 //",count_total:"// 共 {{count}} 条 //",divider_label:"自定义词条",card:{domain_tooltip:"常用领域",manual_tooltip:"手动添加",edit:"编辑",delete:"删除"},domains:{helper:"勾选你常聊的领域,AI 会优先按这些场景调整术语和措辞",limit_hint:"最多选 {{limit}} 个",counter:"已选 {{count}} / {{limit}}",items:{programming:"软件开发",ai_ml:"AI / 机器学习",medicine:"医学健康",law:"法律",finance:"金融投资",academic:"学术科研",engineering:"工程制造",electronics:"电路硬件",marketing:"营销增长",psychology:"心理学",design:"设计创意",film_production:"影视制作",cybersecurity:"网络安全",photography:"摄影",tcm:"中医",automotive:"汽车",maritime:"船舶航海"},delete_custom:"删除该自定义领域"},new_domain_dialog:{title:"新建领域",name_placeholder:"领域名,比如 摄影后期",keywords_placeholder:"常用词(回车添加,可选)",error_empty:"领域名不能为空",error_duplicate:"已有同名领域",error_limit:"已达上限 {{limit}}",error_invoke:"保存失败,请重试",submitting:"保存中…",submit:"保存"},new_dialog:{title:"新词",description:"添加自定义词典条目",term_label:"term",term_placeholder:"例如 OpenSpeech",error_empty:"term 不能为空",error_duplicate:"该词条已存在",submitting:"添加中…",submit:"添加"},bulk_dialog:{title:"批量添加",description:"粘贴任意内容,AI 帮你挑出值得入字典的词",step1_label:"// 01 · 粘贴内容",textarea_placeholder:`粘贴术语清单、中英对照表,或任何含专有名词的文字…
13
+ AI 会自动挑出专有名词、术语、人名、项目名,跳过日常常用词。`,hint:"支持词表、清单或长段落,最长 12,000 字",analyze:"分析",analyzing:"分析中…",step2_label:"// 02 · 选要添加的词",empty_result:"// AI 没在这段文本里挑出值得入库的词 //",count_selected:"已选 {{count}} / {{total}}",select_all:"全选",deselect_all:"全不选",duplicate_badge:"已有",back:"重新粘贴",confirm:"添加 {{count}} 条",confirm_zero:"添加",confirming:"添加中…",toast_done:"已添加 {{added}} 条到字典",toast_done_with_skip:"已添加 {{added}} 条 · 跳过 {{skipped}} 条",error_empty:"请先粘贴文字内容",error_invoke:"AI 抽词失败,请重试",error_quota:"字典已达 {{limit}} 条上限"}},Db={nav:{home:"首页",toolbox:"翻译/润色",meetings:"会议录制",history:"历史",dictionary:"词典",devices:"无线麦克风"},account_fallback:"账户",login:"登录",credits:"Credits",time_left:"LEFT",time_minutes:"{{minutes}} MIN",settings:"设置",tray:{update_found_title:"发现新版本",update_none:"当前已是最新版本",update_check_failed:"检查更新失败"}},Lb={placeholder:"搜索...",clear:"清空搜索",open:"搜索"},zb={title:"翻译 / 润色",subtitle:"随手输入或开口说话,再润色、翻译、朗读。",flow_hint:"上方给输入 · 下方挑工具 · 即刻拿到处理后的结果",input:{section_label:"// 01 · 输入",tabs:{text:"文字",voice:"语音",history:"历史",file:"音频文件"},text_placeholder:"在这里输入或粘贴文字…",dictate_hint:"按下快捷键 · 直接开口听写",dictate_unbound:"未绑定听写快捷键",voice_hint:"按住按钮说话,松开自动转写。",voice_button_idle:"按住说话",voice_button_recording:"正在听…",voice_recorded:"已录制 · 0:08",history_hint:"从历史记录里挑一条。",history_empty:"暂无历史记录。",file_hint:"拖入或选择音频文件(mp3 / wav / m4a)。",file_button:"选择音频文件",file_loaded:"demo.mp3 · 12s · 1.2 MB",char_count:"{{count}} 字",right_label:"文字",right_hint_voice:"来自语音转写",right_hint_history:"来自历史记录",right_hint_file:"来自音频转写",right_empty:"请先在左侧给一个输入。",use_sample:"用示例文字",replaced_hint:"已替换为上一步输出",restore_original:"还原原文",paste:"粘贴",history:"历史",clear:"清空",clipboard_detected:"检测到剪贴板内容",clipboard_translate:"粘贴并翻译",clipboard_fill_only:"仅粘贴"},tools:{section_label:"// 02 · 工具",tabs:{polish:"润色",translate:"翻译",tts:"朗读"},tutorial:{polish:{title:"润色",headline:"按场景把口语稿改写成成稿——邮件、微信、汇报随你挑。"},translate:{title:"翻译",headline:"把文字翻成另一种语言,尽量保留语气。"},tts:{title:"朗读",headline:"把文字合成自然的语音。"}},polish:{scenario_label:"场景",scenarios_empty:"未配置场景",add_scenario:"+ 新增",examples:{email:"邮件",wechat:"微信",report:"工作汇报",meeting_notes:"会议纪要",social_post:"朋友圈"}},translate:{target_label:"译为",languages:{en:"英文",zh:"中文","zh-TW":"繁体中文",ja:"日文",ko:"韩文",fr:"法文",de:"德文",es:"西班牙文"}},tts:{voice_label:"声音",speed_label:"语速",voices:{natural_f:"自然·女声",natural_m:"自然·男声",calm_f:"舒缓·女声"},audio_placeholder:"▶ ━━━━━━━━━━━━━━━━━━━━ 0:08 / 0:12"},run:"运行",run_hint:"配置好上方参数后点击运行",ready_to_run:"就绪 · 待运行",running:"运行中…",error_title:"运行失败",error:"失败 · {{message}}",rerun:"重跑",copy:"复制",save_history:"保存",use_as_input:"用作输入",download:"下载",elapsed:"{{seconds}}s",idle:"等待输入",output_empty:"在上方填入或选择一段输入"},output:{idle_label:"等待运行",ready:"READY",waiting_input:"等待输入完毕…",generating:"生成中…",meta_chars:"{{count}} 字",meta_elapsed:"耗时 {{seconds}}s"},footer:{ui_only_notice:"// UI 预览 — 业务尚未接入"}},Nb={title:"会议录制",subtitle:"长时间录音 · 自动分人 · 时间轴回看",idle:{hint:"点击开始记录",recent:"最近会议",items:"项",empty:"暂无会议记录",empty_transcript:"(无内容)",loading:"加载中…",starting:"正在连接供应商…",language_support:"// 当前仅支持 中文 / 英语 / 粤语 / 多种方言(川、陕、豫、沪、湘、鄂、皖)"},live:{recording:"录音中",paused:"已暂停",pause:"暂停",resume:"继续",stop:"结束",listening:"正在聆听...",reconnecting:"网络异常,正在重连… ({{attempt}}/{{max}})",reconnect_gave_up:"重连失败,会议已断开"},speaker:{label:"用户 {{letter}}",pending:"用户 …",rename_hint:"点击改名",rename_aria:"修改说话人名字"},review:{back:"返回",speakers:"位说话人",delete:"删除",favorite:"加入收藏",unfavorite:"取消收藏",delete_confirm:"确认删除这条会议记录?",summary:"纪要",transcript:"逐字稿",generate_title:"生成标题",regenerate_title:"重新生成",edit_title:"重命名标题",summary_topic:"会议主题",summary_speakers:"发言人",summary_abstract:"会议摘要",summary_section:"片段数",summary_loading:"正在加载纪要…",summary_generate:"生成纪要",summary_generating:"生成中…",summary_regenerate:"重新生成",summary_failed:"纪要生成失败",summary_copy:"复制",summary_copied:"已复制",summary_copy_success:"纪要已复制到剪贴板",summary_copy_failed:"复制失败",transcript_copy:"复制",transcript_copied:"已复制",transcript_copy_success:"逐字稿已复制到剪贴板",transcript_copy_failed:"复制失败",summary_retry:"重新生成",summary_recharge:"前往充值",summary_open_subscription:"升级订阅",summary_open_settings:"打开设置",summary_show_details:"展开技术详情",summary_idle_hint:"点上方「生成纪要」按钮,按当前 AI 通道生成 Markdown 纪要(设置 → AI → 提示词 → 会议纪要 可改默认提示)。",summary_empty_transcript:"本次会议没有可总结的内容。",export:"导出",export_default_name:"会议-{{date}}-{{shortId}}",export_md_filter:"Markdown",export_doc_title:"会议记录",export_meta_created:"时间",export_meta_duration:"时长",export_meta_speakers:"说话人数",export_meta_segments:"段数",export_success:"已导出到 {{path}}",export_failed:"导出失败"},translate:{toggle:"双语翻译",target_lang:"翻译目标语言",hint:"AI 翻译 · 消耗额度",translating:"翻译中…"}},jb={title:"无线麦克风",subtitle:"连接您的 OpenSpeech 无线麦克风",bound_dashboard:{subtitle_online:"已连接 · 通过 {{channel}}",subtitle_provisioned:"已配网,正在通过 Wi-Fi 建立连接 ({{ip}})…",subtitle_offline:"离线 · 等待设备上线",battery:"电量",signal:"信号",channel:"通道",firmware:"固件",unbind:"移除设备",others_title:"其他已绑定设备",activate:"激活",add_new:"添加新设备",back_to_devices:"返回设备列表"},hub:{title_scanning:"正在搜索附近设备",subtitle_scanning:"请确认麦克风已开机并处于配网模式(首次开机或长按复位 5 秒)。",title_idle:"搜索附近设备",title_found_one:"发现 {{count}} 台设备",title_found_other:"发现 {{count}} 台设备",title_found:"发现 {{count}} 台设备",subtitle_found:"点击下方设备连接到您的电脑。",title_no_adapter:"未开启蓝牙",subtitle_no_adapter:"请在系统设置中打开蓝牙后重试。",connect:"连接",unnamed_device:"未命名设备",signal_strong:"信号强",signal_medium:"信号中",signal_weak:"信号弱"},provision_status:{connecting:"正在连接",awaiting_challenge:"等待配对码",waiting_confirm:"请确认配对码",pairing:"正在校验",waiting_provision:"请输入 WiFi",provisioning:"正在配网",provision_failed:"配网失败",provisioned:"配网成功"},connect_dialog:{title:"连接到此设备",subtitle:"首次连接需要在麦克风屏幕上确认配对码。",cancel:"取消",done:"完成",connecting:"正在连接设备…",confirm_hint:"请核对麦克风屏幕上的配对码与下方一致。",accept:"确认",reject:"拒绝",pairing:"正在校验…",wifi_hint:"请输入麦克风要接入的 WiFi 名称与密码。",use_current_wifi:"使用当前 WiFi",autofill_password_skipped:"密码自动填充被跳过,请手动输入。",autofill_failed:"无法读取当前 WiFi,请手动输入。",ssid_label:"WiFi 名称(SSID)",ssid_placeholder:"选择一个 WiFi",ssid_pick_from_list:"从列表选择",ssid_manual_entry:"手动输入 SSID",psk_label:"WiFi 密码",submit_wifi:"开始配网",provisioning:"正在配网…",retry_provision:"重新尝试",provision_failed_generic:"配网失败,请检查 WiFi 后重试。",provision_failed_stage_0:"WiFi 密码错或网络不存在,请重试。",provision_failed_stage_1:"WiFi 信号弱或路由器拒绝连接。",provision_failed_stage_2:"暂不支持企业 WiFi。",provision_failed_stage_3:"WiFi 已连,但路由器没分配 IP。",provision_failed_stage_4:"网络无 DNS,请检查路由器。",provision_failed_stage_5:"WiFi 已连,但无法访问网络。",provision_failed_stage_6:"找不到电脑端,请确认电脑端已开启。",provision_failed_stage_7:"桌面端响应超时。",provision_failed_stage_8:"凭据无效,请重新登录。",success_title:"配网成功",success_subtitle:"麦克风已接入 WiFi(IP: {{ip}}),可以开始使用了。"},paired_strip:{title:"已连接的设备",remove:"移除",confirm_remove:"要移除「{{label}}」吗?"},server:{title:"WS 服务",running:"运行中",stopped:"已停止",host_label:"地址",mdns_label:"mDNS",connections_label:"在线",start:"启动",stop:"停止"},list:{title:"设备",empty_title:"等待设备连接",empty_hint:"mDNS 服务已发布,把 ESP32 麦克风接到同一局域网即可被发现。",paired_section:"已配对"},ble_scan:{start:"扫描",scanning:"扫描中…",no_adapter:"未发现蓝牙适配器",error_prefix:"扫描错误:",nearby_section:"附近",pair_cta:"配对(即将开放)",pair_unavailable_hint:"SPAKE2 配对与 WiFi 下发还在 P1 开发,暂仅支持扫描发现。"},card:{online:"在线",offline:"离线",unnamed:"未命名",fw_short:"固件"},detail:{online:"在线",offline:"离线",device_id:"ID",bound_user:"绑定用户",first_paired:"首次配对",last_seen:"最近上线",channel:"通道",rtt:"RTT",rssi:"信号",battery:"电量",protocol:"协议",firmware:"固件",send_text_title:"推送文本",send_text_placeholder:"输入要下发到设备屏幕的文本…",target_app_placeholder:"目标 app(可选)",send_text:"发送",send_text_ok:"已发送文本",send_text_failed:"发送失败",ota_title:"推送 OTA",ota_pick_file:"选择固件",ota_no_file:"未选择固件",ota_version_placeholder:"目标版本 1.0.0",ota_push:"推送",ota_started:"已开始推送 OTA",ota_failed:"推送失败",last_text_result:"最近一次识别结果",rename_save:"保存",rename_cancel:"取消",rename_failed:"重命名失败",remove:"移除设备",remove_title:"移除设备",remove_desc:"确认要移除「{{label}}」吗?此操作会断开连接并清除注册记录。",remove_confirm:"确认移除",remove_ok:"设备已移除",remove_failed:"移除失败",no_selection_title:"未选中设备",no_selection_hint:"在左侧选择一台设备查看详情并执行操作。"},battery_tier:{normal:"正常",low:"电量低",critical:"严重不足",no_record:"无记录",deep_sleep:"深度睡眠"},events:{title:"事件流",empty:"暂无事件"}},zE={transcribe:Cb,home:kb,history:Rb,dictionary:Mb,layout:Db,search_box:Lb,toolbox:zb,meetings:Nb,devices:jb},NE=Object.freeze(Object.defineProperty({__proto__:null,default:zE,devices:jb,dictionary:Mb,history:Rb,home:kb,layout:Db,meetings:Nb,search_box:Lb,toolbox:zb,transcribe:Cb},Symbol.toStringTag,{value:"Module"})),Vb={title:"优化",empty:"暂无可优化的识别结果",cancel:"取消",save:"优化并复制",saving:"优化中…",learn_hint:"AI 会从这次优化中学习,下次识别更懂你",close_aria:"关闭"},Bb={saved_title:"已保存优化",saved_description:"新文本已复制到剪贴板,回到原输入框粘贴即可",save_failed_title:"保存失败"},jE={edit_last_record:Vb,toast:Bb},VE=Object.freeze(Object.defineProperty({__proto__:null,default:jE,edit_last_record:Vb,toast:Bb},Symbol.toStringTag,{value:"Module"})),Ub={section_index:"[04] 系统",title:"设置",subtitle:"配置听写、模型端点与应用行为。改动即时生效,无需保存。",dialog_title:"设置",dialog_sr:"OpenSpeech 设置"},Hb={title:"已回退到 OpenLoaf SaaS",description:"{{which}}的自定义供应商未通过测试,已切换到云端服务",dictation:"听写",ai:"AI 改写",both:"听写与 AI 改写",confirm_title:"自定义供应商未通过测试",confirm_description:"{{which}}所选的自定义供应商还没有通过测试,无法在此模式下应用。继续关闭设置会自动回退到 OpenLoaf SaaS 云端服务。",confirm_back_to_test:"返回测试",confirm_proceed:"回退到 SaaS 并关闭"},Pb={general:"通用",hotkeys:"快捷键",dictation:"听写",model:"模型",ai:"AI",prompts:"系统提示词",about:"关于",dev_hints:"提示调试"},Kb={reset_all:"重置全部",reset_all_confirm:"确定将所有快捷键恢复为默认值?",reset_all_done:"已恢复默认快捷键"},qb={shortcuts:"键盘快捷键",language:"语言",audio:"音频",asr_segment:"听写模式",text_injection:"文本注入",behavior:"行为",model_rest:"大模型(REST)",build:"构建",output:"输出方式",hints:"教学与提示"},Yb={interface_lang:"界面语言",translate_target_lang:"翻译目标语言",translate_target_lang_hint:"翻译听写快捷键命中后,转写文本会被译成此语言再注入到当前焦点。",translate_output_mode:"翻译输出形态",translate_output_mode_hint:"「双语」保留原文并追加译文;「仅目标语言」只输出译文,速度更快。",input_device:"输入设备",input_level:"输入声音",input_level_hint_listening:"实时电平 · 正在监听:{{name}}",input_level_hint:"实时麦克风电平",cue_sound:"开始/结束提示音",restore_clipboard:"粘贴后恢复剪贴板",restore_clipboard_hint:"建议保持开启",launch_startup:"开机自启",close_to_tray:"关闭时最小化到托盘",close_to_tray_hint:"开启后关闭主窗口直接隐藏到托盘;关闭时每次弹确认对话框",update_policy:"自动更新",update_policy_hint:"选择后台发现新版本时的处理方式",update_policy_options:{prompt:"提示我安装",auto:"空闲时自动安装",disabled:"关闭"},loading:"// loading settings…",dictation_output_lang:"听写输出语言",dictation_output_lang_hint:"听写转写出来的文字使用哪种语言。「自动」时由 ASR 自行判定,并以界面语言作为默认对照。",translate_conflict_warning:"目标语言与听写输出语言相同,翻译将无意义。",show_hints:"显示交互提示",show_hints_hint:"在悬浮条与结果区域显示快捷键教学小气泡;学会后自动隐藏。关掉后所有教学提示一律不弹。",reset_hints:"重置交互提示",reset_hints_action:"全部重置",reset_hints_done:"已重置教学提示",hints_pending_count:"未学会 {{pending}} / {{total}}",hints_all_learned:"已全部学会"},Gb={system_default:"跟随系统",system_default_with_current:"跟随系统(当前:{{name}})",is_default_suffix:"{{name}} · 系统默认",disconnected_with_fallback:"{{name}} · 已断开,暂用系统默认({{fallback}})",disconnected:"{{name}} · 已断开"},Ib={realtime_label:"实时转换",realtime_hint:"服务端按停顿自动切句、录音过程中实时回填;适合长会议字幕、直播转写等无人值守场景。",utterance_label:"整句听写",utterance_hint:"整段录音视为一次完整对话,松开按键后再返回转写结果;模型有完整上下文,更准、更不易被停顿误切。",ai_refine_toggle:{label:"启用 AI 优化",hint:"在「整句听写」基础上调用大模型整理:去口头禅、消重、识别自我修正;同语言不翻译。",disabled_in_realtime:"实时转换模式下不可用"}},$b={streaming_inject:{label:"文字逐字输出",hint:"默认开启:模型一边产出,文字一边敲到光标位置。关闭后改为整段一次粘贴,可绕开微信输入法 / 部分全拼输入法的逐字符拦截(首字吞、双逗号等异常)。"},clipboard_copy:{label:"自动复制到剪贴板",hint:"默认关闭:注入完成后会还原你原本的剪贴板内容,不污染复制队列。开启后整段文字保留在剪贴板,方便再次手动粘贴。"}},Xb={byo_unavailable_tag:"// BYO-MODEL · 暂未实现",byo_unavailable_body:"自定义 STT REST 端点(端点 URL / API Key / 模型名 / 测试连接)尚未接入,当前所有听写均走 OpenLoaf SaaS。该入口正在开发中,下一版本会启用。",endpoint:"端点 URL",api_key:"API Key",api_key_hint:"存储于系统密钥链;失去焦点时自动保存",model_name:"模型名称",timeout_seconds:"请求超时(秒)",audio_format:"音频格式",test_connection_disabled:"测试连接(暂未实现)",show_key:"显示 API Key",hide_key:"隐藏 API Key",key_saved_toast:"API Key 已保存到系统密钥链",key_save_failed_toast:"API Key 保存失败: {{error}}"},Fb={section_mode:"AI 通道",mode_saas_label:"云端(推荐)",mode_saas_hint:"走 OpenLoaf 已登录账号的快速 chat 模型,按积分计费。",mode_custom_label:"自定义供应商",mode_custom_hint:"OpenAI 兼容协议;自带 API Key,可加多个供应商但同一时刻只能激活一个。",section_providers:"自定义供应商",providers_empty:"尚未添加自定义供应商",provider_name:"名称",provider_base_url:"Base URL",provider_model:"模型",provider_api_key:"API Key",provider_api_key_hint:"存储于系统密钥链;失去焦点时自动保存",provider_active:"当前激活",provider_set_active:"设为激活",provider_remove:"删除",provider_test:"测试",provider_test_running:"测试中…",provider_test_pass:"测试通过",provider_test_fail:"测试失败:{{message}}",provider_test_missing_fields:"Base URL 或模型未填写",provider_test_empty_reply:"模型未返回内容",provider_add:"新增供应商",provider_default_name:"新供应商",provider_default_base_url:"https://api.openai.com/v1",provider_default_model:"gpt-4o-mini",section_prompts:"系统提示词",prompts_hint:"默认跟随当前界面语言;一旦修改即视为自定义,对所有语言生效。",prompts_intro:"AI 在不同场景下用的提示词,改一改就能调整输出风格。改动会自动保存。",prompt_tab_refine:"听写优化",prompt_tab_translate:"翻译",prompt_tab_polish:"润色",prompt_tab_meeting:"会议纪要",prompt_edit:"修改",prompt_status_custom:"已自定义",prompt_status_default:"默认",prompt_desc_refine:"松开听写按键后,AI 把语音转写整理成更通顺的书面文本(错字、口头禅、断句),再注入到当前应用。",prompt_desc_translate:"通过「翻译」快捷键触发,把听写文本翻译成上面设置的目标语言。",prompt_desc_polish:"AI 工具箱「润色」页面使用,可配合下方场景列表(邮件、微信等)按需切换语气。",prompt_desc_meeting:"「会议」页面把整段会议录音转写后,按本提示词整理成结构化纪要。",prompt_dialog_title_refine:"听写优化提示词",prompt_dialog_title_translate:"翻译提示词",prompt_dialog_title_meeting:"会议纪要提示词",prompt_dialog_textarea_label:"系统提示词",polish_dialog_title:"润色设置",polish_dialog_subtitle:"调整润色用的系统提示词,并维护 AI 工具箱里出现的场景列表。",polish_dialog_tab_prompt:"提示词",polish_dialog_tab_scenarios:"场景",polish_dialog_prompt_label:"润色提示词",polish_scenarios_title:"润色场景",polish_scenarios_hint:"AI 工具箱「润色」页底部 chip 列表的来源;运行时会把所选场景的指令拼接到润色系统提示词后。",polish_scenarios_empty:"尚未添加润色场景",polish_scenario_default_name:"新场景",polish_scenario_remove:"删除",polish_scenario_add:"新增场景",polish_scenario_instruction_placeholder:"例如:目标场景是商务邮件,语气正式,按问候 / 正文 / 结尾分段。",refine_dialog_subtitle:"调整 AI 整理听写文本的方式。可以改一改、删一删,或全部恢复默认。",refine_dialog_tab_rules:"规则",refine_dialog_tab_examples:"示例",refine_dialog_tab_overrides:"按应用",refine_dialog_advanced_badge:"高级",refine_status_count_one:"{{count}} 条规则",refine_status_count_other:"{{count}} 条规则",refine_status_default:"默认",refine_status_modified:"已修改",refine_rules_empty_after_clear:"规则已全部删除——运行时会跳过规则段。点下方添加规则,或点上方「恢复默认」回到默认 6 条。",refine_rules_empty_my_rules:"还没有你自己的规则。AI 在用一套通用的默认规则跑;如果你想微调,可以下面新建一条,或从一条默认规则开始改。",refine_rules_count:"{{current}} / {{max}}",refine_rule_add:"新建规则",refine_rule_import_default:"从默认规则开始",refine_rule_import_picker_title:"选一条默认规则添加",refine_rule_clear_all:"清空全部",refine_rule_remove:"删除",refine_rule_index:"规则 {{index}}",refine_rule_body_placeholder:"这条规则告诉 AI 怎么处理你的听写文本,多段用空行分隔。",prompt_panel_save_hint:"改动会自动保存。",advanced_title:"高级",app_override_rules_hint:"这套规则只对当前应用生效,覆盖上面的全局规则。",refine_panel_intro:"教 AI:当你说类似这样的话,应该整理成这样。例子越具体,整理就越贴近你想要的风格。",refine_examples_my_title:"我的案例",refine_examples_my_hint:"把「口语 → 希望输出」成对喂给模型;越靠前权重越高。",refine_examples_count:"{{current}} / {{max}}",refine_example_add:"添加案例",refine_example_remove:"删除",refine_example_input_label:"口语",refine_example_output_label:"希望输出",refine_example_focus_label:"要点 / 关键点(可选)",refine_example_target_label:"适用范围",refine_example_input_placeholder_v2:"你对着麦克风说了什么(口语 / 错字 / 口头禅)",refine_example_output_placeholder_v2:"你希望整理成的样子(书面、自洽、可粘进输入框)",refine_example_focus_placeholder_v2:"比如:保留专有名词、把英文术语还原",refine_example_target_option:{"*":"通用(所有场景)",chat:"聊天软件(微信 / Slack / iMessage)",code:"命令终端 / 代码编辑器",doc:"文档 / 文本编辑器",email:"邮件",browser:"浏览器",meeting:"会议",other:"其他"},app_overrides_title:"按应用覆盖",app_overrides_hint:"对特定应用单独配置规则与案例:命中时优先使用此处规则,案例拼在全局之前。仅匹配跑过 refine 留下 appId 的应用。",app_overrides_empty:"还没添加覆盖",app_overrides_count:"{{current}} / {{max}}",app_override_add:"添加覆盖",app_override_remove:"删除",app_override_enabled:"启用",app_override_expand:"展开",app_override_collapse:"收起",app_override_core_rules_label:"覆盖核心规则(留空则用全局)",app_override_core_rules_clear:"清空",app_override_core_rules_placeholder:"为该应用定制的 <core_rules>...</core_rules>;为空表示沿用全局核心规则。",app_override_picker_title:"选择要覆盖的应用",app_override_no_history:"暂无可覆盖的应用——先在该应用里跑一次听写优化,让它出现在历史里。",prompt_reset:"恢复默认",section_history:"上下文",include_history:"把最近的历史一起发送",include_history_hint:"把最近的 transcript 作为参考上下文,帮助模型沿用一致的语气与术语。",recent_history_count:"携带条数",recent_history_count_hint:"AI 上下文最多带最近多少条历史;条数越多偏置越强,但 token 消耗也更多。",minutes_ago:"分钟前",history_truncated:"省略 {{count}} 字"},Qb={en:"English",zh:"简体中文","zh-TW":"繁體中文",ja:"日本語",ko:"한국어",fr:"Français",de:"Deutsch",es:"Español"},Zb={target_only:"仅目标语言",bilingual:"双语(原文 + 译文)"},Wb={label:"听写语种",hint:"选择你说话使用的语言;选「自动」让上游 ASR 自检测,遇歧义按界面语言对照。",follow_interface:"跟随界面语言",auto:"自动",zh:"中文",en:"English",ja:"日本語",ko:"한국어",yue:"粤语"},Jb={section_mode:"听写通道",mode_saas_label:"OpenLoaf 云端(默认)",mode_saas_hint:"使用已登录账号走 OpenLoaf 托管的语音识别,按积分计费。听写与会议转录共用同一通道。",mode_custom_label:"自定义供应商",mode_custom_hint:"用自己的腾讯云 / 阿里云密钥直连厂商 API,不经过 SaaS。会议转录需选择「腾讯云」(自带说话人分离)。",section_providers:"自定义供应商",providers_empty:"尚未添加任何自定义供应商",add_tencent:"新增腾讯云",add_aliyun:"新增阿里云",vendor_tencent:"腾讯云",vendor_aliyun:"阿里云 DashScope",active_label:"当前激活 · {{vendor}}",set_active:"设为激活",remove:"删除",name_label:"名称",tencent_default_name:"腾讯云语音识别",tencent_app_id:"AppID",tencent_region:"区域(Region)",tencent_secret_id:"Secret ID",tencent_secret_key:"Secret Key",tencent_credentials_hint:"凭证存储于系统密钥链;失去焦点时自动保存。可在腾讯云控制台 → API 密钥管理获取。",tencent_cos_bucket_label:"COS 存储桶",tencent_cos_bucket_placeholder:"myaudio-1234567890",tencent_cos_bucket_hint:"必填:录音通过 COS 上传后再转写,单文件 ≤512MB。不填则受腾讯文件接口 base64 5MB 限制,超过后无法转写。",aliyun_default_name:"阿里云 DashScope",aliyun_api_key:"ApiKey",aliyun_api_key_hint:"存储于系统密钥链;失去焦点时自动保存。可在 DashScope 控制台获取。",test:"测试",test_running:"测试中…",test_pass:"测试通过:凭证有效",test_fail:"测试失败:{{message}}",test_missing_fields:"必填字段未填",verified_badge:"已验证",unverified_badge:"未验证",test_code:{ok:"测试通过",unauthenticated:"鉴权失败:请检查 Secret/ApiKey 是否正确",service_not_enabled:"凭证有效,但语音识别服务尚未在该账号下开通",missing_fields:"必填字段未填",network:"网络不可达,请检查链路与防火墙",timeout:"请求超时,请稍后重试",rate_limited:"调用过于频繁",cos_unauthorized:"ASR 凭证有效,但当前 SecretId 无权访问该 COS 存储桶",cos_not_found:"ASR 凭证有效,但 COS 存储桶不存在或地域不匹配",oss_policy_failed:"ApiKey 有效,但获取 OSS 上传策略失败:账号可能未开通百炼录音文件资源",unknown:"未知错误"}},eS={version:"版本",platform:"平台",license:"许可证",source:"源代码",check_update:"检查更新",dev_build:"当前是开发版",rerun_onboarding:"重新运行首次引导",install_now:"立即安装",skip_version:"跳过此版本",install_in_progress:"正在下载并安装更新…",install_progress:"{{version}} · {{percent}}% · {{downloaded}} / {{total}}",install_starting:"{{version}} · 已下载 {{downloaded}}",install_finalizing:"下载完成,正在安装…",install_failed:"更新安装失败",update_channel:"更新通道",update_channel_stable:"正式版",update_channel_beta:"Beta(抢先体验)",update_channel_hint:"Beta 通道更早收到新功能,但可能不稳定。关闭 Beta 后只会接收到版本号高于当前 Beta 的正式版。",open_log_dir:"打开日志目录",saas_sdk_version:"SaaS SDK 版本"},tS={title:"交互提示调试",subtitle:"仅 dev 构建可见 · 用于回归 hint 行为",global_switch:"全局显示提示",reset_all:"全部重置",col_id:"ID",col_category:"类别",col_threshold:"阈值",col_success:"成功次数",col_dismissed:"已关闭",col_should:"应显示",col_actions:"操作",yes:"是",no:"否",dismiss:"关闭",reset:"重置",force:"强制显示",forcing:"强制中",note:"新增 hint 步骤:① settings.ts 加 HintId ② lib/hints.ts 注册 HINT_REGISTRY ③ overlay.json 加文案 ④ 调用方挂 useHintBubble。完成后本表自动出现。"},BE={page:Ub,provider_rollback:Hb,tabs:Pb,hotkeys:Kb,section:qb,general:Yb,device:Gb,asr_segment:Ib,output:$b,model:Xb,ai:Fb,translate_target_lang:Qb,translate_output_mode:Zb,dictation_lang:Wb,dictation_provider:Jb,about:eS,dev_hints:tS},UE=Object.freeze(Object.defineProperty({__proto__:null,about:eS,ai:Fb,asr_segment:Ib,default:BE,dev_hints:tS,device:Gb,dictation_lang:Wb,dictation_provider:Jb,general:Yb,hotkeys:Kb,model:Xb,output:$b,page:Ub,provider_rollback:Hb,section:qb,tabs:Pb,translate_output_mode:Zb,translate_target_lang:Qb},Symbol.toStringTag,{value:"Module"})),nS="反馈意见",iS="打开首页",aS="AI 工具",sS="历史记录",oS="设置…",lS="选择麦克风",rS="Auto-detect",uS="Auto-detect ({{name}})",cS="字典",dS="检查更新",fS="退出 OpenSpeech",HE={feedback:nS,open_home:iS,open_toolbox:aS,open_history:sS,open_settings:oS,mic_submenu:lS,auto_detect:rS,auto_detect_with_name:uS,open_dictionary:cS,check_update:dS,quit:fS},PE=Object.freeze(Object.defineProperty({__proto__:null,auto_detect:rS,auto_detect_with_name:uS,check_update:dS,default:HE,feedback:nS,mic_submenu:lS,open_dictionary:cS,open_history:sS,open_home:iS,open_settings:oS,open_toolbox:aS,quit:fS},Symbol.toStringTag,{value:"Module"})),hS={ok:"確定",cancel:"取消",confirm:"確認",save:"儲存",close:"關閉",retry:"重試",clear:"清除",remove:"刪除",add:"新增",back:"返回",next:"下一步",done:"完成",skip:"略過",copy:"複製",edit:"編輯",search:"搜尋",loading:"載入中…"},pS={system:"跟隨系統","zh-CN":"简体中文","zh-TW":"繁體中文",en:"English"},_S={system_default:"跟隨系統",system_default_with_current:"跟隨系統(目前:{{name}})",auto_detect:"自動偵測",none:"無"},KE={actions:hS,lang:pS,value:_S},qE=Object.freeze(Object.defineProperty({__proto__:null,actions:hS,default:KE,lang:pS,value:_S},Symbol.toStringTag,{value:"Module"})),mS={title:"快速鍵衝突",description_one:"下面這條快速鍵無效,請重新綁定。直接關閉此彈窗會清除該綁定。",description_other:"以下 {{count}} 條快速鍵無效,請重新綁定。直接關閉此彈窗會清除這些綁定。",cleared_toast_one:"已清除 1 條衝突的快速鍵,稍後可在設定中重新綁定",cleared_toast_other:"已清除 {{count}} 條衝突的快速鍵,稍後可在設定中重新綁定"},gS={title_pending:"正在為你完成剛才的轉寫",title_success:"轉寫完成",title_error:"轉寫未完成",description_pending:"登入已恢復,正在用剛才的錄音繼續走雲端轉寫,請稍候…",description_success:"下面是這次錄音的最終結果,點擊右下角即可複製到剪貼簿。",description_error:"登入已恢復,但用錄音重新轉寫時再次失敗。可以從歷史記錄裡手動重試。",empty_transcript:"(未辨識到內容)",copy:"複製結果",copied:"已複製",close:"關閉",close_disabled:"請稍候…"},yS={title:"登入 OpenLoaf",openloaf_note:"OpenSpeech 屬於 OpenLoaf 產品線,所有產品共用同一個 OpenLoaf 帳號。",description:"選擇一種登入方式以繼續",subtitle:{idle:"選擇登入方式繼續",opening:"正在開啟瀏覽器...",polling:"等待在瀏覽器完成授權",success:"登入成功"},providers:{wechat:"使用微信登入",google:"使用 Google 登入"},or:"或",byo_button:"使用自己的 STT 端點",byo_hint:"不想登入 OpenLoaf?填寫你自己的 STT REST 端點,音訊從本機直發,不經雲端。",retry:"重試",close:"關閉",cancel:"取消登入",details_show:"檢視詳情",details_hide:"收起詳情"},vS={title:"帳戶",description:"OpenSpeech 帳戶與訂閱",loading:"// 載入中 //",section:{identity:"身分",subscription:"訂閱",recharge:"儲值積分",session:"工作階段"},row:{email:"電子郵件",wechat:"微信帳戶",subscription:"訂閱",credits_balance:"剩餘積分"},membership:{free:"FREE / 免費",lite:"LITE / 輕享",pro:"PRO / 專業",premium:"PREMIUM / 旗艦"},subscribe_button:{default:"訂閱 / 升級方案",upgrade_to_premium:"升級到 PREMIUM",manage:"管理訂閱"},subscribe_hint:"在 OpenLoaf 網站完成訂閱與方案管理。",recharge_button:"儲值",recharge_hint:"1 元 = 100 積分。不訂閱方案也可直接儲值。",logout_button:"登出",logout_busy:"正在登出...",logout_hint:"登出後將清除本機登入狀態。本機錄音、歷史與字典將保留。"},bS={title:"關閉到背景",description:"OpenSpeech 即將關閉主視窗,應用程式將繼續在背景執行",body_1_prefix:"OpenSpeech 將繼續在 ",body_1_highlight:"背景",body_1_suffix:" 執行,全域快速鍵仍然可用。",body_2:"可透過系統工具列圖示重新開啟主視窗,或選擇「結束」完全結束處理程序。",remember:"不再提示",quit:"結束",stay:"背景執行"},SS={title:"沒有網際網路連線",description:"您的電腦未連線到網際網路,請檢查網路後重試",body:"您的電腦未連線到網際網路。請檢查網路連線後重試。",still_offline:"仍未偵測到網路",retry:"重試"},TS={press_new:"按下新快速鍵...",recording_hint:"ESC 取消 · 4 秒後自動退出",clear_title:"清除",clear_aria:"清除快速鍵",error_prefix:"ERROR",error_illegal_combo:"非法組合",conflict_with:"已被「{{name}}」使用",conflict_reason:{equal:"已被「{{name}}」使用",subset_modifier_only:"與「{{name}}」修飾鍵集合互為子集,會出現幻影錄音",subset_combo:"與「{{name}}」修飾鍵集合互為子集,按下時會雙觸發",double_tap_overlap_modifier:"與「{{name}}」共用同一顆修飾鍵,雙擊窗口會衝突"},replace:"取代",rebind:"重新錄入",cancel:"取消",replaced_toast:"已取代「{{name}}」原本的繫結",undo:"撤銷"},AS={default_title:"聽寫快速鍵 / PUSH-TO-TALK",unbound:"未繫結",default_hint:"按一下開始 · 再按一次結束"},xS={initializing:"INITIALIZING",tagline:"Speak less, write more.",loading:"Loading"},YE={hotkey_conflict:mS,auth_recovery:gS,login:yS,account:vS,close_to_bg:bS,no_internet:SS,hotkey_field:TS,hotkey_preview:AS,loading_screen:xS},GE=Object.freeze(Object.defineProperty({__proto__:null,account:vS,auth_recovery:gS,close_to_bg:bS,default:YE,hotkey_conflict:mS,hotkey_field:TS,hotkey_preview:AS,loading_screen:xS,login:yS,no_internet:SS},Symbol.toStringTag,{value:"Module"})),wS={title:"會議錄製中",description:"{{action}}已被暫停——請先結束目前會議錄製再使用",action_dictate:"聽寫",action_translate:"翻譯",action_ask_ai:"問 AI"},ES={login_timeout:"登入逾時,請重試",login_failed:"登入失敗,請重試",login_connection_reset:"登入伺服器連線被重設,請稍後重試",login_unreachable:"無法連線到登入伺服器,請檢查網路後重試",internal:"內部錯誤,請稍後再試",not_authenticated:"尚未登入",not_authenticated_openloaf:"尚未登入 OpenLoaf",not_authenticated_openspeech:"尚未登入 OpenSpeech",session_expired:"工作階段已過期,請重新登入"},OS={offline:"沒有網際網路連線",unreachable:"網路無法連線",service_unreachable:"無法連線到服務",service_unreachable_desc:"網路無法連線或服務端異常,已取消本次錄音",check_and_retry:"請檢查網路後重試"},CS={start_failed:"錄音啟動失敗",save_failed:"錄音儲存失敗",mic_not_ready:"麥克風尚未就緒",realtime_not_started:"即時轉寫尚未啟動",hotkey_sync_failed:"同步快速鍵到 Rust 失敗:{{error}}"},kS={refine:"AI 整理",translate:"翻譯"},RS={transcribe_failed:"轉寫失敗",transcribe_empty:"未取得轉寫結果",transcribe_empty_desc:"伺服器逾時或全程靜音",transcribe_placeholder:"(未能取得轉寫結果)",session_timeout:"工作階段逾時",saas_5xx:"SaaS 伺服器錯誤(5xx)",saas_4xx:"SaaS 驗證失敗(4xx)",unknown:"未知錯誤"},MS={copy_failed:"複製到剪貼簿失敗",paste_failed:"自動貼上失敗"},DS={check_failed:"檢查更新失敗",available:"發現新版本 {{version}}"},LS={action:"回報錯誤",sending:"回報中…",sent:"已回報",toast_success:"錯誤已回報,感謝你的回饋!",toast_failed:"回報失敗:{{message}}",toast_auth_lost:"登入狀態已失效,請重新登入後再回報",toast_network:"網路異常,無法回報,請稍後再試",toast_timeout:"請求逾時,請檢查網路後重試"},zS={go_to_settings:"前往設定",generic:"操作失敗",generic_hint:"發生了未預期的錯誤,請稍後重試。若反覆出現,可點選「回報錯誤」把詳情傳給我們。",meeting_provider_unsupported:"目前通道不支援會議轉錄",meeting_provider_unsupported_hint:"請到「設定 → 聽寫」切換到「SaaS」或「自訂 → 騰訊」。",meeting_provider_not_configured:"尚未設定聽寫通道",meeting_provider_not_configured_hint:"請到「設定 → 聽寫」選擇「SaaS」或新增「自訂 → 騰訊」供應商。",network_exit:"連線已中斷",network_exit_hint:"即時語音辨識連線被中斷,請檢查網路後重試。",idle_timeout:"長時間無聲音而被中斷",idle_timeout_hint:"供應商在長時間靜音後關閉了會話,點選「繼續」可重新連線。",start_failed:"無法開始會議",mic_unavailable:"麥克風無法使用",mic_unavailable_hint:"無法存取麥克風。請檢查它是否被其他應用程式佔用、是否已在系統設定裡授予 OpenSpeech 麥克風權限,然後重試。",start_failed_hint:"未能啟動會議錄製。請檢查網路與「設定 → 聽寫」設定後重試。",pause_failed:"無法暫停",pause_failed_hint:"未能暫停目前會議,請稍後重試。",resume_failed:"無法繼續",resume_failed_hint:"未能繼續目前會議,請檢查網路後重試。",resume_blocked_dictation:"請先結束聽寫",resume_blocked_dictation_hint:"目前正在聽寫 / 翻譯,麥克風被佔用。結束後再繼續會議錄製。",history_save_failed:"儲存會議記錄失敗",history_save_failed_hint:"會議記錄未能儲存到本機。請檢查磁碟空間後重試。",history_open_failed:"開啟會議記錄失敗",history_open_failed_hint:"未能開啟這條會議記錄,檔案可能已損毀或被移動。",history_delete_failed:"刪除會議記錄失敗",history_delete_failed_hint:"未能刪除這條會議記錄,請稍後重試。",unauthenticated_byok:"自訂供應商驗證失敗",unauthenticated_byok_hint:"騰訊回傳了驗證失敗。請到「設定 → 聽寫」確認當前自訂供應商的 AppID / SecretId / SecretKey 是否正確。",insufficient_funds:"供應商餘額不足",insufficient_funds_hint:"請為騰訊語音辨識帳戶儲值,或切換到其他供應商。",engine_not_authorized:"騰訊帳號未開通 16k_zh_en_speaker 引擎",engine_not_authorized_hint:"「即時說話人分離」是騰訊獨立 SKU,「即時語音辨識大模型」資源包並不涵蓋。請到騰訊雲語音辨識控制台開通該引擎,或提工單確認:",open_tencent_console:"開啟",unauthenticated_saas:"SaaS 登入已失效",unauthenticated_saas_hint:"請重新登入 OpenSpeech 後再開始會議。",insufficient_funds_saas:"SaaS 積分不足",insufficient_funds_saas_hint:"請前往個人中心儲值積分,或切換到「自訂 → 騰訊」。",not_authenticated:"尚未登入",not_authenticated_hint:"SaaS 通道需要先登入 OpenSpeech。請登入後再開始會議,或切換到「自訂 → 騰訊」。",summary_insufficient_credits:"積分餘額不足",summary_insufficient_credits_hint:"本次紀要生成需要消耗 OpenLoaf SaaS 積分,目前餘額不足。完成儲值或升級訂閱後可繼續生成;也可以到「設定 → AI」改用自訂模型。",summary_unauthorized:"SaaS 登入已失效",summary_unauthorized_hint:"登入狀態已過期,請重新登入 OpenSpeech 後再試。",summary_rate_limited:"請求過於頻繁",summary_rate_limited_hint:"上游限流,稍等片刻再試。",summary_timeout:"請求逾時",summary_timeout_hint:"AI 服務長時間未回應,請檢查網路後重試。",summary_network:"網路異常",summary_network_hint:"無法連線到 AI 服務,請確認網路後重試。",summary_generic:"生成失敗",summary_generic_hint:"AI 服務暫時無法完成本次任務,請稍後再試。",summary_empty_transcript:"沒有可總結的內容",summary_empty_transcript_hint:"本次會議沒有任何最終文字片段,無法生成紀要。",summary_no_active_custom_provider:"尚未選擇自訂模型",summary_no_active_custom_provider_hint:"請到「設定 → AI」啟用一個自訂供應商,或將模式切回 SaaS。"},IE={hotkey_blocked:wS,auth:ES,network:OS,recording:CS,phase:kS,stt:RS,clipboard:MS,update:DS,report:LS,meetings:zS},$E=Object.freeze(Object.defineProperty({__proto__:null,auth:ES,clipboard:MS,default:IE,hotkey_blocked:wS,meetings:zS,network:OS,phase:kS,recording:CS,report:LS,stt:RS,update:DS},Symbol.toStringTag,{value:"Module"})),NS="意見回饋",jS="意見回饋",VS="把使用過程中的問題或想法告訴我們,我們會閱讀每一條回饋。",BS="回饋類型",US={bug:"Bug 問題",feature:"功能建議",ui:"介面/互動",performance:"效能/卡頓",chat:"AI 對話",other:"其他"},HS="內容",PS="描述一下你遇到的情況、重現步驟或想要的功能…",KS="聯絡信箱(選填)",qS="you@example.com",YS="留下信箱方便我們在處理後回覆你;不留也能匿名提交。",GS="附帶最近日誌",IS="勾選後會把最近的應用日誌一起傳給我們,幫助定位問題。Bug 類回饋預設勾選。",$S="讀取日誌失敗,將不附帶日誌送出。",XS="送出回饋",FS="送出中…",QS="取消",ZS={content_required:"請填寫回饋內容(至少一句話)",email_invalid:"信箱格式看起來不正確"},WS={success:"回饋已送出,謝謝你的回饋!",auth_lost:"登入狀態已失效,請重新登入後再送出",network:"網路異常,請稍後再試",timeout:"請求逾時,請檢查網路後重試",generic:"送出失敗:{{message}}"},JS={menu_label:"回饋這條",dialog_title:"回饋這條記錄",dialog_description:"告訴我們哪裡辨識錯了、AI 整理得如何,或其他任何想法。我們會隨這條意見一起收到你的原始錄音、提示詞與轉寫結果,便於分析改進。",context_summary:{type:"類型",duration:"時長",target_app:"目標應用",provider:"ASR 通道",ai_model:"AI 模型",created_at:"記錄時間"},preview_label:"文字",preview_raw:"原始 ASR",preview_refined:"AI 整理",preview_edited:"已修改",preview_empty:"(空)",content_label:"你的意見",content_placeholder:"例:把「OpenLoaf」辨識成了「open loaf」;或:希望 AI 整理時別省略「嗯」…",include_audio_label:"隨回饋一併上傳原始錄音",include_audio_hint:"勾選後我們能聽到這條記錄的真實音訊。僅本條記錄的錄音會上傳,不會送出其他歷史。",include_audio_disabled:"這條記錄沒有保留錄音",include_audio_needs_login:"需要登入後才能附帶錄音",include_audio_too_large:"錄音超過 10 MB,將不附帶音訊送出",submit:"送出回饋",submit_loading:"送出中…",validation:{content_required:"寫一句話告訴我們這條哪裡不對吧"},toast:{success:"回饋已送出,謝謝!",audio_skipped:"錄音過大,未附帶音訊;其餘資訊已送出",auth_lost:"登入已失效,請重新登入後再送",network:"網路異常,請稍後再試",timeout:"請求逾時,請檢查網路後重試",generic:"送出失敗:{{message}}"}},XE={menu_label:NS,dialog_title:jS,dialog_description:VS,type_label:BS,type:US,content_label:HS,content_placeholder:PS,email_label:KS,email_placeholder:qS,email_hint:YS,attach_logs_label:GS,attach_logs_hint:IS,attach_logs_failed:$S,submit:XS,submit_loading:FS,cancel:QS,validation:ZS,toast:WS,history:JS},FE=Object.freeze(Object.defineProperty({__proto__:null,attach_logs_failed:$S,attach_logs_hint:IS,attach_logs_label:GS,cancel:QS,content_label:HS,content_placeholder:PS,default:XE,dialog_description:VS,dialog_title:jS,email_hint:YS,email_label:KS,email_placeholder:qS,history:JS,menu_label:NS,submit:XS,submit_loading:FS,toast:WS,type:US,type_label:BS,validation:ZS},Symbol.toStringTag,{value:"Module"})),e0={dictate_ptt:"聽寫",translate:"翻譯聽寫",show_main_window:"開啟主視窗",open_toolbox:"開啟 AI 工具",edit_last_record:"優化上一條"},t0={dictate_ptt:"按下開始錄音,放開後轉寫並寫入游標處",translate:"按下開始錄音,放開後翻譯並寫入游標處",show_main_window:"在任意應用中喚起 OpenSpeech 主視窗",open_toolbox:"在任意應用中跳到 AI 工具頁",edit_last_record:"彈出快捷面板優化最近一條辨識結果,不打擾主視窗"},n0={unbound:"未綁定",double_tap:"2× {{mod}}",left:"左",right:"右"},i0={needs_main_key:"需要搭配主鍵使用",special_keys_locked:"Esc / Enter / 方向鍵等特殊鍵需在進階設定開啟後使用",typing_key_needs_modifier:"字母 / 數字 / 空格 / 標點等輸入鍵單按會攔截正常打字,必須搭配修飾鍵",fn_macos_only:"Fn 鍵僅在 macOS 可靠可用;請改用 Alt + Win 或 Right Alt",modifier_only_no_main:"modifier-only 綁定不能包含主鍵",modifier_only_min:"至少需要一個修飾鍵",combo_disallowed_main:"Tab / Backspace / Delete / CapsLock / NumLock / ScrollLock 不可作為主鍵,誤觸代價過高",combo_no_fn:"Fn 鍵不能與主鍵組合,系統層無法註冊",double_tap_no_main:"雙擊綁定不能包含主鍵",double_tap_single_mod:"雙擊只支援單一修飾鍵",double_tap_fn_macos:"macOS 雙擊 Fn 是系統聽寫預設快捷鍵,會被系統先吞"},a0={system_shortcut:"該組合可能與系統常用快捷鍵衝突",f_key_bare:"F1-F12 在多數 Mac 預設是亮度 / 音量等系統功能鍵",modifier_only_single_macos:"單一修飾鍵會吞掉它的所有原生組合(如 ⌘+空格、⌥+方向鍵、⌃+空格)",modifier_only_single_windows:"單一修飾鍵會吞掉它的所有原生組合(如 Alt+Tab、Win+E、Ctrl+C)",modifier_only_single_linux:"單一修飾鍵會吞掉它的所有原生組合(如 Alt+Tab、Super+空格、Ctrl+C)"},QE={binding:e0,binding_hint:t0,format:n0,validation:i0,warning:a0},ZE=Object.freeze(Object.defineProperty({__proto__:null,binding:e0,binding_hint:t0,default:QE,format:n0,validation:i0,warning:a0},Symbol.toStringTag,{value:"Module"})),s0={subtitle:"// first run setup"},o0={tag:"// welcome to",headline_part1:"說出來。",headline_part2:"就成文。",subhead:"按一下快速鍵開始說話,再按一下結束——文字立即出現在你正在使用的任何 App 裡。"},l0={section_tag:"// step 01 / permissions · {{platform}}",title_macos:"授權 麥克風 與 輔助使用",title_windows:"授權 麥克風",title_linux:"選擇麥克風與注入工具",recheck_all:"重新偵測",recheck_all_title:"重新偵測全部權限",recheck_one_title:"重新偵測",summary_macos:"macOS 需要三項系統權限:「麥克風」(錄音)、「輔助使用」(把轉寫的文字寫到目前 App)、「輸入監控」(監聽全域快速鍵)。系統的權限快取與行程繫結——若已在系統設定勾選但仍顯示未授權,點擊右上角「重新啟動 OpenSpeech」讓新權限生效。",summary_windows:"Windows 需要授權「麥克風」(用於錄音)。若你常用的目標程式以系統管理員身分執行,OpenSpeech 也需相同權限才能注入文字。",summary_linux:"Linux 不需要授權彈窗:選擇一個 PipeWire / PulseAudio 輸入裝置,並確保安裝了 ydotool / wtype(Wayland)或 xdotool(X11)即可。",badge_required:"必需",badge_recommended:"推薦",status_checking:"偵測中",status_granted:"已授權",primary_acknowledged:"我已知曉",primary_open_settings:"前往系統設定",primary_request:"請求授權",primary_grant:"授權",tcc_hint:"已勾選但仍提示未授權?在系統設定該權限清單裡移除 OpenSpeech 後重新加入,再點「重新啟動 OpenSpeech」。",footer_next:"下一步",footer_relaunch:"重新啟動 OpenSpeech",footer_hint_ok:"接下來 2 步:登入 → 試用",footer_hint_relaunch:"授權後請重新啟動 · 重啟後將自動進入下一步",mic:{title:"麥克風",title_linux:"麥克風裝置",rationale:"用於錄製你的語音並送到辨識引擎。",rationale_linux:"Linux 不需要授權彈窗;從 PipeWire / PulseAudio 選一個輸入裝置即可。",hint_macos:"授權位置:系統設定 → 隱私權與安全性 → 麥克風",hint_windows:"授權位置:Windows 設定 → 隱私 → 麥克風"},accessibility:{title:"輔助使用",rationale:"用於把辨識出的文字模擬鍵盤輸入到目前焦點的輸入框。",hint_macos:"授權位置:系統設定 → 隱私權與安全性 → 輔助使用"},input_monitoring:{title:"輸入監控",rationale:"用於在你正在使用其它 App 時,監聽全域快速鍵(如 Fn / Alt+Win)觸發錄音。",hint_macos:"授權位置:系統設定 → 隱私權與安全性 → 輸入監控"},inject_tools:{title_windows:"目標程式權限提示",rationale_windows:"若你常用的程式以系統管理員身分執行(如 cmd),OpenSpeech 也需要相同權限才能注入文字。",title_linux:"偵測注入工具",rationale_linux:"Wayland 下需要 ydotool / wtype,X11 下需要 xdotool。OpenSpeech 會自動偵測。"}},r0={section_tag:"// step 02 / account",title:"登入 OpenLoaf 帳號",subtitle_openloaf:"OpenSpeech 屬於 OpenLoaf 產品線,所有 OpenLoaf 產品共用同一個帳號與點數。",bonus_main:"新使用者立即到帳 200 點數",bonus_minutes_prefix:"· 約",bonus_minutes_value:"30 分鐘",bonus_minutes_suffix:"語音",method_wechat_label:"微信登入",method_wechat_sub:"掃碼即可登入",method_google_label:"Google 登入",method_google_sub:"瀏覽器跳轉登入",status_success:"登入成功,正在進入下一步…",status_opening:"正在開啟瀏覽器…",status_polling:"等待在瀏覽器完成授權…",cancel:"取消",advanced_collapse:"↑ 收起",advanced_expand:"↓ 我有自己的 STT 端點",advanced_desc:"設定自訂 REST STT 端點(OpenAI / Groq / Deepgram / 自架)。此選項僅推薦給開發者;一般使用者請用上方帳號登入。",advanced_cta:"略過登入,去設定自訂端點",error_default:"登入失敗,請重試",error_reset:"登入伺服器連線被重設,請重試",error_timeout:"登入逾時,請重試",error_network:"無法連線到登入伺服器,請檢查網路後重試"},u0={section_tag:"// step 03 / try it",title:"試一次。",subhead:"按一下下方快速鍵開始 · 說一句話 · 再按一下結束",checklist_tag:"// CHECKLIST",checklist:{step1:"按一下聽寫快速鍵開始",step2:"對著麥克風說一句話",step3:"再按一下結束",step4:"看到文字寫入下方"},mock_slices:["今","今天","今天天氣","今天天氣真好","今天天氣真好,","今天天氣真好,我打開","今天天氣真好,我打開了 OpenSpeech","今天天氣真好,我打開了 OpenSpeech 試試看。"],hotkey_title:"你的聽寫快速鍵",hotkey_hint:"按一下開始 · 再按一次結束",samples_label:"AUDIO · {{count}} SAMPLES",live_transcript_tag:"// LIVE TRANSCRIPT",transcript_chars:"{{count}} CHARS",transcript_placeholder:"即時轉寫文字將出現在這裡…",completed_title:"設定完成,可以開始使用了",completed_desc:"正式使用時游標在哪個 App,文字就寫到哪個 App。",reset:"重設",mock_running:"示範中…",mock_run:"▶ 模擬一次",finish:"完成引導",skip_finish:"略過並完成",status:{ready_tag:"// READY",ready_primary:"開始說話…",ready_secondary:"Esc 取消",listening_tag:"// LISTENING",listening_primary:"再按一次快速鍵 結束並轉寫",listening_secondary:"Esc 取消本次錄音",transcribing_tag:"// TRANSCRIBING",transcribing_primary:"正在轉寫…",transcribing_secondary:"Esc 放棄這次結果",injecting_tag:"// INJECTING",injecting_primary:"正在寫入輸入框…",error_tag:"// ERROR",error_primary:"出錯了,檢查紀錄或重試",idle_tag:"// IDLE"}},WE={header:s0,welcome:o0,permissions:l0,login:r0,try_it:u0},JE=Object.freeze(Object.defineProperty({__proto__:null,default:WE,header:s0,login:r0,permissions:l0,try_it:u0,welcome:o0},Symbol.toStringTag,{value:"Module"})),c0={cancel:"取消",confirm:"確定",close_result:"關閉結果",cancel_keep:"結束並保留錄音",skip_refine:"略過 AI 優化,使用原始轉寫"},d0={target:"翻譯目標語言:{{lang}}",mode_label:"翻譯模式",lang:{en:"英文",zh:"中文","zh-TW":"繁體中文",ja:"日文",ko:"韓文",fr:"法文",de:"德文",es:"西班牙文"}},f0={to_translate:"切換為翻譯模式",to_dictation:"切換為聽寫模式",tap_again_to_output:"再按 {{hotkey}} 輸出"},h0={error_fallback:"錯誤",transcribing:"正在轉寫中…",refining:"AI 優化中…",injecting:"正在輸出中…",translating:"正在翻譯中…"},p0={tag:{ready:"// READY",listening:"// LISTENING",transcribing:"// TRANSCRIBING",injecting:"// INJECTING",error:"// ERROR",idle:"// IDLE",processing:"// PROCESSING"},primary:{ready:"開始說話…",listening:"再按一次快捷鍵 結束並轉寫",transcribing:"轉寫中…",injecting:"寫入輸入框中…",error:"發生錯誤,請檢查日誌或重試",result:"已寫入輸入框 · 按快捷鍵開始下一次"},secondary:{ready:"Esc 取消",listening:"Esc 取消這次錄音",transcribing:"Esc 放棄這次結果",result:"或點擊 ✕ 關閉"},placeholder:"即時轉寫文字將出現在這裡…",utterance_timer_label:"整句模式",result_label:{original:"原文",translation:"譯文",polished:"潤稿版"},result_stats:{recording:"錄音",response:"回應"},dictate_status:{ai_on:"AI 優化已啟用",ai_off:"AI 優化未啟用"},mode_action:{dictate:"聽寫",translate:"翻譯"},mode_segment:{utterance:"整句",realtime:"即時"},action:{stop:"結束並轉寫",stop_translate:"結束並翻譯",cancel:"取消本次錄音",retry_hint:"按快捷鍵重試",kbd_esc:"Esc",copy:"複製",copied:"已複製",edit:"修改",refine:"潤稿",refining:"潤稿中…",translate:"翻譯",translating:"翻譯中…"},coming_soon:"即將上線",coming_soon_tag:"// SOON",refine_scenario:{menu_aria:"選擇潤稿情境",helper:"選情境,提升潤稿精度",count:"{{count}} 個情境",limit_hint:"最多選 3 個"},translate_lang:{menu_aria:"選擇翻譯目標語言"},meter:{live:"LIVE",chars:"{{count}} CHARS",samples:"AUDIO · {{count}} SAMPLES"}},_0={stt_start_failed:{title:"即時轉寫未啟動",description:"{{reason}} · 本次僅本機錄音"},recording_start_failed:{title:"錄音啟動失敗"},mic_start_failed:{title:"麥克風啟動失敗",reasons:{"no-input-device":"未找到可用的麥克風裝置。請檢查系統設定 → 聲音 → 輸入。","permission-denied":"未授予麥克風權限。請到「系統設定 → 隱私與安全性 → 麥克風」開啟 OpenSpeech 權限。","device-busy":"麥克風被其它應用獨佔。請點擊系統右上角控制中心 → 麥克風,關閉佔用方後重試。","device-config-unsupported":"目前麥克風的取樣率 / 通道設定不被支援。請到系統設定 → 聲音 → 輸入查看裝置狀態。","device-removed":"麥克風裝置已斷開。如使用 USB / 藍牙麥克風,請重新連接後再試。",generic:"無法啟動麥克風音訊串流。詳見日誌或重試一次。"}},mic_silence:{title:"似乎沒拾到聲音",description:"已錄製 {{seconds}} 秒但未偵測到聲音。可能麥克風被遮蔽 / 被其它應用獨佔 / 音量過低。"},transcribe_failed:{title:"轉寫失敗",no_transcript:"未辨識到內容,可在歷史裡點重試"},byok_switch_to_saas:{action:"切到雲端",switched_title:"已切換為 OpenLoaf 雲端",switched_description:"請按快捷鍵重新錄音"},recording_save_failed:{title:"錄音儲存失敗"},clipboard_failed:{title:"複製到剪貼簿失敗"},paste_failed:{title:"自動貼上失敗",description:"文字已複製,請手動按 Cmd/Ctrl+V"},not_logged_in:{title:"尚未登入 OpenSpeech",description:"請登入後再使用語音輸入",action:"登入"},dictation_fallback:{title:"已切換為 OpenLoaf SaaS",description:"自訂供應商尚未設定,本次轉寫已改用雲端服務"},ai_refine_auto_fallback:{title:"AI 改寫已切換為 OpenLoaf SaaS",description:"自訂 AI 供應商尚未設定完成,已改用雲端服務"},ai_refine_custom_failed:{title:"AI 改寫失敗(自訂供應商)",description_missing_key:"找不到自訂供應商的 ApiKey,可點擊按鈕切回雲端服務",description_runtime:`自訂供應商無法存取:{{error}}
14
+ 可點擊按鈕切回雲端服務`,action:"切換為 SaaS"},asr_error:{title:"轉寫異常",unknown:"未知錯誤"},worker_dead:{title:"語音通道異常中斷",description:"已停止本次錄音,請重新開始",error_message:"語音通道異常中斷,已停止錄音"},insufficient_credits:{title:"餘額不足",description:"已取消本次轉寫,請前往帳戶頁儲值",error_message:"餘額不足,已取消本次轉寫"},session_timeout:{title:"工作階段逾時",description:"達到 2 小時伺服器上限"},preflight_failed:{title:"無法開始錄音"},aborted_saved:{title:"已取消,未轉寫",description:"錄音已儲存到歷史"},silent_recording:{title:"未偵測到語音"},realtime_degraded:{title:"即時辨識異常",description:"正在用錄音重轉,請稍候",realtime_mode:"已保留前半段,可在歷史裡重試整段"}},m0={placeholder:"(未能取得轉寫結果)",aborted_placeholder:"(已取消,未轉寫)"},g0={label:"已錄",aria:"已錄 {{duration}}"},y0={title:"沒找到能輸入的位置",hint:"已複製 · 按 {{key}} 貼上"},v0={title:"辨識失敗",retry:"重試",retrying:"重試中…",close:"關閉"},b0={stt_not_authenticated:"尚未登入 OpenLoaf",stt_5xx:"SaaS 伺服器錯誤(5xx)",stt_4xx:"SaaS 驗證失敗(4xx)",stt_mic_not_ready:"麥克風尚未就緒",stt_network:"網路不可達",stt_unknown:"轉寫失敗,請稍後重試",sync_hotkey_failed:"同步快捷鍵到 Rust 失敗:{{error}}",preflight_permission_denied:"未授予麥克風權限",preflight_no_device:"未找到可用麥克風",byok_not_implemented:"自訂 BYOK 通道開發中,將在下個版本啟用",byok_missing_credentials:"自訂供應商憑證缺失,請到設定 → 聽寫 → 自訂供應商設定",byok_keyring_error:"無法從系統密鑰鏈讀取自訂供應商憑證",file_too_large_for_tencent_byok:"單個檔案超過騰訊 BYOK 檔案轉寫上限(約 5 分鐘),請改用 REALTIME 模式或縮短錄音",tencent_task_failed:"騰訊任務執行失敗:{{msg}}",tencent_task_timeout:"騰訊任務超時(>24 分鐘未返回結果)",transcribe_timeout:"轉寫請求逾時(伺服器無回應,已自動結束等待)",tencent_unauthenticated:"騰訊 BYOK 驗證失敗 —— 請檢查設定中的 SecretId / SecretKey",tencent_rate_limited:"騰訊 BYOK 觸發限流,請稍候再試",tencent_cos_unauthenticated:"騰訊 COS 驗證失敗 —— 請檢查 SecretId / SecretKey 與儲存桶權限",tencent_cos_forbidden:"騰訊 COS 拒絕上傳 —— 請確認 Bucket 名稱、Region 與存取政策",tencent_cos_network:"騰訊 COS 網路異常 —— 請檢查網路後重試",tencent_cos_unknown:"騰訊 COS 上傳失敗(未知錯誤)",unauthenticated_byok:"自訂憑證驗證失敗:請檢查 SecretId / SecretKey",insufficient_funds:"騰訊雲帳戶餘額不足或服務未開通",idle_timeout:"長時間無音訊,已自動斷開",rate_limited:"供應商觸發限流,請稍候再試",aliyun_invalid_audio_format:"音訊格式不被阿里 DashScope 支援,請檢查取樣率與位元深度",aliyun_quota_exceeded:"阿里 DashScope 配額已用盡",aliyun_unauthenticated:"阿里 DashScope 驗證失敗 —— 請檢查設定中的 ApiKey",aliyun_rate_limited:"阿里 DashScope 觸發限流,請稍候再試",aliyun_upload_failed:"阿里 DashScope OSS 上傳失敗:{{msg}}",aliyun_filetrans_failed:"阿里 DashScope 任務執行失敗:{{msg}}",aliyun_filetrans_timeout:"阿里 DashScope 任務逾時(>24 分鐘未返回結果)",aliyun_file_too_large:"檔案大小超過阿里 DashScope BYOK 單檔上限(預設 100MB)"},S0={aria:{dismiss:"不再顯示該提示"},recordingControls:{text:"鬆開結束 · ESC 取消"},resultActions:{text:"⌘C 複製 · 編輯 · 潤色 · 翻譯"},firstResultConfirm:{text:"游標放在輸入框,說完自動寫入",action_confirm:"知道了"},appFirstInject:{text:"辨識成功,結果已輸入到 {{app}}"}},eO={aria:c0,translate:d0,mode_switch:f0,status:h0,panel:p0,toast:_0,transcript:m0,long_recording:g0,result:y0,transcribeError:v0,error:b0,hints:S0},tO=Object.freeze(Object.defineProperty({__proto__:null,aria:c0,default:eO,error:b0,hints:S0,long_recording:g0,mode_switch:f0,panel:p0,result:y0,status:h0,toast:_0,transcribeError:v0,transcript:m0,translate:d0},Symbol.toStringTag,{value:"Module"})),T0={too_long_for_utterance:"單次錄音超過 5 分鐘,UTTERANCE 模式不支援,請切換至 REALTIME 模式",aliyun_oss_upload_failed:"阿里雲 OSS 上傳失敗,憑證可能已過期或網路不穩定",aliyun_filetrans_failed:"阿里雲檔案轉寫任務失敗,請稍後重試",aliyun_file_too_large:"檔案超過 100 MB,已達阿里雲 OSS 單檔上限",tencent_cos_upload_failed:"騰訊雲 COS 上傳失敗,請檢查憑證與網路",tencent_cos_bucket_required:"需要先在聽寫設定中填寫騰訊 COS 儲存桶才能轉寫(舊憑證可能沒填)"},A0={hero:{title_line1:"說出來。",title_line2:"就成文。",description:"按一下快捷鍵,開口說話,再按一下結束——文字即刻出現在任意應用程式中。不綁定編輯器,錄音只留本機,無任何遙測。",feature_push_to_talk:"// PUSH-TO-TALK 按鍵聽寫",feature_cross_platform:"// 跨平台 WIN · MAC · LINUX"},hotkey_hint:"按一下快捷鍵開始錄音,再按一下結束並把文字寫入目前輸入框。按 <esc>Esc</esc> 取消;焦點必須在可編輯區域。",translate_hint:"按一下翻譯快捷鍵開始錄音,再按一下結束。系統會先轉寫再翻譯為目標語言,並寫入目前輸入框。",translate_bilingual:"雙語輸出",translate_bilingual_aria:"雙語輸出(原文 + 譯文)",edit_hotkey:"編輯快捷鍵",edit_hotkey_dialog_title:"編輯快捷鍵",edit_hotkey_dialog_description:"錄入或修改目前快捷鍵綁定。",quick_dict:{button_aria:"新增詞條",title:"我的詞典",empty:"// 尚無任何詞條 //",domains_label:"// 常用領域"},hotkey_tab:{dictate:"聽寫",translate:"翻譯"},hotkey_title:{dictate:"聽寫 / PUSH-TO-TALK",translate:"翻譯 / TRANSLATE"},dictation_starred:"已收藏",dictation_star_add:"加入收藏",stats:{section_title:"今日 / 本次工作階段",section_title_today:"今日工作階段統計",section_title_all:"累計工作階段統計",tab_today:"今日",tab_all:"累計",live_metrics:"// LIVE METRICS",duration_label:"口述時長",duration_unit:"HH:MM",words_label:"口述字數",words_unit:"總計",wpm_label:"平均速度",wpm_unit:"字/分鐘",saved_label:"節省時間",saved_unit:"HH:MM",open_dialog_aria:"查看 {{label}} 詳細統計"},stats_dialog:{title:"數據統計",subtitle:"含聽寫 / 問 AI / 翻譯 · 資料僅本機",close:"關閉",range:{today:"今日","7d":"近 7 天","30d":"近 30 天","90d":"近 90 天",all:"全部"},metric_switcher_label:"聚焦",kpi:{duration:"時長",words:"字數",wpm:"WPM",saved:"節省",sessions:"次數"},main:{duration:{title:"時長走勢",hint:"每日累計錄音時長(HH:MM)"},words:{title:"字數累計",hint:"隨時間累積的總產出字數"},wpm:{title:"WPM 走勢",hint:"每日平均口述速度"},saved:{title:"節省累計",hint:"相對 {{baseline}} WPM 打字基線累計省下的時間"},sessions:{title:"次數走勢",hint:"每日聽寫工作階段數"}},facet:{heatmap:{title:"活躍時段",hint:"週一–週日 × 0–23 時;色越深用得越多",weekdays:"一,二,三,四,五,六,日"},top_apps:{title:"Top 目標應用程式",hint:"你最常在哪些應用程式裡寫字",unknown:"未知應用程式"},wpm_by_mode:{title:"WPM × 分段模式",hint:"REALTIME 與 UTTERANCE 的速度對比"},saved_equivalent:{title:"等價換算",hint:"把節省的時間換算成更直觀的單位",items:{typing_hours:"≈ 打字 {{value}}",podcasts:"≈ 聽 {{value}} 集 podcast",coffees:"≈ 喝 {{value}} 杯咖啡",books_pages:"≈ 看 {{value}} 頁書"}},session_dist:{title:"單次字數分布",hint:"短句、中段、長稿各占多少",buckets:{short:"短句 ≤ 20 字",medium:"中段 21–100 字",long:"長稿 > 100 字"}},duration_dist:{title:"單次時長分布",hint:"按一次錄音的長度分桶,看你說短句多還是說長稿多",buckets:{lt10s:"< 10 秒",s10_30:"10–30 秒",s30_60:"30–60 秒",s60_120:"1–2 分鐘",gt120s:"> 2 分鐘"}},type_mix:{title:"類型分布",hint:"你都用 OpenSpeech 做什麼——聽寫、問 AI 還是翻譯",buckets:{dictation:"聽寫",ask:"問 AI",translate:"翻譯"}},provider_dist:{title:"通道分布",hint:"不同 ASR 通道的次數與平均速度",unknown:"未知通道"},ai_refine_rate:{title:"AI 優化使用率",hint:"多少次工作階段用了 AI 整理;以及平均整理耗時",used_label:"已使用",avg_label:"平均耗時"},status_mix:{title:"成功率",hint:"成功 / 失敗 / 取消 三態占比",buckets:{success:"成功",failed:"失敗",cancelled:"已取消"}},asr_source_dist:{title:"ASR 通道分布",hint:"即時 / 檔案轉寫 / 自訂端點 各占多少",buckets:{"saas-realtime":"即時","saas-rest":"檔案轉寫",byo:"自訂",unknown:"未知"}}},empty:"// 尚無聽寫記錄,去主畫面試試 //"}},x0={title:"歷史記錄",subtitle:"歷史記錄保存在本裝置。",search_placeholder:"搜尋歷史...",more:"更多",stats:"統計",refresh:"重新整理",retention:{label:"保留時長",title:"本機歷史記錄保留多久",options:{forever:"永遠","90d":"90 天","30d":"30 天","7d":"7 天",off:"不保存"}},open_folder:"開啟錄音資料夾",open_folder_failed:"開啟錄音資料夾失敗",delete_all:"刪除全部歷史",filters:{all:"全部",starred:"收藏",dictation:"聽寫",ask:"隨便問",translate:"翻譯"},buckets:{today:"今天",yesterday:"昨天",this_week:"本週",earlier:"更早"},empty:"// 暫無記錄 //",loading_more:"// 載入更多 //",list_end:"// 已到底 · 共 {{count}} 筆 //",status:{success:"成功",failed:"失敗",cancelled:"已取消",retrying:"重新辨識中"},player:{play:"播放",pause:"暫停"},row:{play:"播放原始錄音",pause:"暫停",resume:"繼續播放",stop:"停止播放",copy:"複製到剪貼簿",copied:"已複製",reinject:"重新注入",export:"匯出音訊",delete:"刪除",retry:"重新辨識",transcribe:"重新辨識",retrying_label:"重新辨識中",retrying_placeholder:"正在重新辨識…",retry_no_audio:"無可用音訊,無法重新辨識",retry_too_long:"超過 5 分鐘的錄音暫不支援重新辨識",retry_in_progress:"重新辨識中…",retry_tooltip:"重新辨識這段錄音",failed_placeholder:"這段錄音上次辨識被中斷,可以重新辨識一次。",cancelled_placeholder:"{{duration}} 錄音已取消,未辨識 · 可重新辨識",view_refined:"AI 優化",view_translation:"譯文",view_raw:"原始文字",view_details:"查看詳情",copy_debug:"複製除錯資訊",star:"加入收藏",unstar:"取消收藏"},detail:{title:"記錄詳情",description:"查看歷史記錄完整內容並執行操作",meta:{duration:"時長",target:"目標應用",error:"錯誤",warn:"備註",asr:"語音辨識",ai:"AI 優化",segment_mode:"模式",provider_kind:"通道",credits:"積分"},asr:{"saas-realtime":"OpenLoaf SaaS · 即時辨識","saas-rest":"OpenLoaf SaaS · REST 轉寫",byo:"自訂 STT 端點"},ai:{none:"未啟用"},segment_mode:{REALTIME:"即時",UTTERANCE:"整句"},provider_kind:{"saas-realtime":"OpenLoaf 即時","saas-file":"OpenLoaf 檔案","tencent-realtime":"騰訊即時","tencent-file":"騰訊檔案","aliyun-realtime":"阿里即時","aliyun-file":"阿里檔案"},unknown:"—",empty_text:"(無文字內容)"},toast:{copy_success:"已複製到剪貼簿",copy_failed:"複製失敗",copy_debug_success:"除錯資訊已複製",copy_debug_failed:"複製除錯資訊失敗",copy_debug_missing:"該紀錄未擷取到請求快照(可能為正式版錄入或呼叫前已失敗)",retry_success:"重新辨識成功",retry_failed:"重新辨識失敗",delete_failed:"刪除失敗",export_success:"音訊已匯出",export_failed:"匯出失敗",refresh_failed:"重新整理失敗",star_failed:"收藏狀態更新失敗"},edit:{title:"修改紀錄",description:"修改這筆歷史紀錄的最終文字",edit_button:"修改",edit_tooltip:"把辨識錯的地方改對,下次更準",original_label:"原始內容(AI 給的最終版)",diff_label:"修改對比(紅色=刪除,綠色=新增)",edited_label:"你的修改",hint:"改完儲存即可,系統會非同步學習",placeholder:"在這裡修改文字…",save:"儲存",revert:"撤銷修改",revert_tooltip:"丟棄這筆紀錄的修改,回到 AI 原版",edited_chip:"已修改",edited_tooltip:"你修改過這筆紀錄的文字",toast:{save_success:"已儲存修改",save_failed:"儲存失敗",revert_success:"已恢復原版",dict_added:"已加入詞典:{{term}}",dict_updated:"已更新詞典:{{term}}",dict_removed:"已移除詞典:{{term}}",dict_hint:"AI 根據你的修改自動學習"}},confirm_clear:{title:"刪除全部歷史",description:"清空本機歷史記錄",body:"將刪除本機的 <count>{{count}}</count> 筆歷史記錄,操作不可復原。",tip:"// 建議先匯出備份",confirm:"確認刪除"}},w0={title:"詞典",subtitle:"自訂詞彙 · 最多 2,000 條",new_word:"+ 新詞",new_domain:"+ 新建領域",bulk_add:"+ 批次",select_mode:"選擇",select_exit:"退出選擇",select_all:"全選",deselect_all:"全不選",selected_count:"已選 {{count}}",bulk_delete:"刪除",bulk_delete_confirm:{title:"刪除 {{count}} 條詞條?",description:"刪除後無法復原。AI 自動收錄的條目也會一併刪除。",cancel:"取消",confirm:"刪除 {{count}} 條",deleting:"刪除中…",toast_done:"已刪除 {{count}} 條詞條"},search_placeholder:"搜尋詞條...",filters:{all:"全部",domains:"常見領域",manual:"手動新增"},empty:"// 暫無詞條 //",count_total:"// 共 {{count}} 條 //",divider_label:"自訂詞條",card:{domain_tooltip:"常用領域",manual_tooltip:"手動新增",edit:"編輯",delete:"刪除"},domains:{helper:"勾選你常聊的領域,AI 會優先依這些場景調整術語與措辭",limit_hint:"最多選 {{limit}} 個",counter:"已選 {{count}} / {{limit}}",items:{programming:"軟體開發",ai_ml:"AI / 機器學習",medicine:"醫學健康",law:"法律",finance:"金融投資",academic:"學術科研",engineering:"工程製造",electronics:"電路硬體",marketing:"行銷增長",psychology:"心理學",design:"設計創意",film_production:"影視製作",cybersecurity:"網路安全",photography:"攝影",tcm:"中醫",automotive:"汽車",maritime:"船舶航海"},delete_custom:"刪除該自訂領域"},new_domain_dialog:{title:"新建領域",name_placeholder:"領域名,例如 攝影後期",keywords_placeholder:"常用詞(Enter 新增,選填)",error_empty:"領域名不能為空",error_duplicate:"已有同名領域",error_limit:"已達上限 {{limit}}",error_invoke:"儲存失敗,請重試",submitting:"儲存中…",submit:"儲存"},new_dialog:{title:"新詞",description:"新增自訂詞典條目",term_label:"term",term_placeholder:"例如 OpenSpeech",error_empty:"term 不能為空",error_duplicate:"該詞條已存在",submitting:"新增中…",submit:"新增"},bulk_dialog:{title:"批次新增",description:"貼上任何內容,AI 幫你挑出值得加入字典的詞",step1_label:"// 01 · 貼上內容",textarea_placeholder:`貼上術語清單、中英對照表,或任何含專有名詞的文字…
15
+ AI 會自動挑出專有名詞、術語、人名、專案名,跳過日常常用詞。`,hint:"支援詞表、清單或長段落,最長 12,000 字",analyze:"分析",analyzing:"分析中…",step2_label:"// 02 · 選要新增的詞",empty_result:"// AI 沒在這段文字裡挑出值得入庫的詞 //",count_selected:"已選 {{count}} / {{total}}",select_all:"全選",deselect_all:"全不選",duplicate_badge:"已有",back:"重新貼上",confirm:"新增 {{count}} 條",confirm_zero:"新增",confirming:"新增中…",toast_done:"已新增 {{added}} 條至字典",toast_done_with_skip:"已新增 {{added}} 條 · 跳過 {{skipped}} 條",error_empty:"請先貼上文字內容",error_invoke:"AI 取詞失敗,請重試",error_quota:"字典已達 {{limit}} 條上限"}},E0={nav:{home:"首頁",toolbox:"翻譯 / 潤色",meetings:"會議錄製",history:"歷史",dictionary:"詞典",devices:"無線麥克風"},account_fallback:"帳戶",login:"登入",credits:"Credits",time_left:"LEFT",time_minutes:"{{minutes}} MIN",settings:"設定",tray:{update_found_title:"發現新版本",update_none:"目前已是最新版本",update_check_failed:"檢查更新失敗"}},O0={placeholder:"搜尋...",clear:"清空搜尋",open:"搜尋"},C0={title:"翻譯 / 潤色",subtitle:"隨手輸入或開口說話,再潤色、翻譯、朗讀。",flow_hint:"上方給輸入 · 下方挑工具 · 即刻拿到處理後的結果",input:{section_label:"// 01 · 輸入",tabs:{text:"文字",voice:"語音",history:"歷史",file:"音訊檔案"},text_placeholder:"在這裡輸入或貼上文字…",dictate_hint:"按下快捷鍵 · 直接開口聽寫",dictate_unbound:"未綁定聽寫快捷鍵",voice_hint:"按住按鈕說話,鬆開自動轉寫。",voice_button_idle:"按住說話",voice_button_recording:"正在聆聽…",voice_recorded:"已錄製 · 0:08",history_hint:"從歷史記錄裡挑一條。",history_empty:"尚無歷史記錄。",file_hint:"拖入或選擇音訊檔案(mp3 / wav / m4a)。",file_button:"選擇音訊檔案",file_loaded:"demo.mp3 · 12s · 1.2 MB",char_count:"{{count}} 字",right_label:"文字",right_hint_voice:"來自語音轉寫",right_hint_history:"來自歷史記錄",right_hint_file:"來自音訊轉寫",right_empty:"請先在左側給一個輸入。",use_sample:"用範例文字",replaced_hint:"已替換為上一步輸出",restore_original:"還原原文",paste:"貼上",history:"歷史",clear:"清空",clipboard_detected:"偵測到剪貼簿內容",clipboard_translate:"貼上並翻譯",clipboard_fill_only:"僅貼上"},tools:{section_label:"// 02 · 工具",tabs:{polish:"潤色",translate:"翻譯",tts:"朗讀"},tutorial:{polish:{title:"潤色",headline:"按場景把口語稿改寫成成稿——郵件、微信、匯報隨你挑。"},translate:{title:"翻譯",headline:"把文字翻成另一種語言,盡量保留語氣。"},tts:{title:"朗讀",headline:"把文字合成自然的語音。"}},polish:{scenario_label:"場景",scenarios_empty:"尚未設定場景",add_scenario:"+ 新增",examples:{email:"郵件",wechat:"微信",report:"工作匯報",meeting_notes:"會議紀要",social_post:"朋友圈"}},translate:{target_label:"譯為",languages:{en:"英文",zh:"簡體中文","zh-TW":"繁體中文",ja:"日文",ko:"韓文",fr:"法文",de:"德文",es:"西班牙文"}},tts:{voice_label:"聲音",speed_label:"語速",voices:{natural_f:"自然·女聲",natural_m:"自然·男聲",calm_f:"舒緩·女聲"},audio_placeholder:"▶ ━━━━━━━━━━━━━━━━━━━━ 0:08 / 0:12"},run:"運行",run_hint:"配置好上方參數後點擊運行",ready_to_run:"就緒 · 待運行",running:"運行中…",error_title:"運行失敗",error:"失敗 · {{message}}",rerun:"重跑",copy:"複製",save_history:"保存",use_as_input:"用作輸入",download:"下載",elapsed:"{{seconds}}s",idle:"等待輸入",output_empty:"在上方填入或選擇一段輸入"},output:{idle_label:"等待執行",ready:"READY",waiting_input:"等待輸入完成…",generating:"生成中…",meta_chars:"{{count}} 字",meta_elapsed:"耗時 {{seconds}}s"},footer:{ui_only_notice:"// UI 預覽 — 業務尚未接入"}},k0={title:"會議錄製",subtitle:"長時間錄音 · 自動分人 · 時間軸回看",idle:{hint:"點擊開始記錄",recent:"最近會議",items:"項",empty:"尚無會議記錄",empty_transcript:"(無內容)",loading:"載入中…",starting:"正在連線供應商…",language_support:"// 目前僅支援 中文 / 英語 / 粵語 / 多種方言(川、陝、豫、滬、湘、鄂、皖)"},live:{recording:"錄音中",paused:"已暫停",pause:"暫停",resume:"繼續",stop:"結束",listening:"正在聆聽...",reconnecting:"網路異常,正在重連… ({{attempt}}/{{max}})",reconnect_gave_up:"重連失敗,會議已斷開"},speaker:{label:"用戶 {{letter}}",pending:"用戶 …",rename_hint:"點擊改名",rename_aria:"修改說話人名字"},review:{back:"返回",speakers:"位說話人",delete:"刪除",favorite:"加入收藏",unfavorite:"取消收藏",delete_confirm:"確認刪除這條會議記錄?",summary:"紀要",transcript:"逐字稿",generate_title:"生成標題",regenerate_title:"重新生成",edit_title:"重新命名標題",summary_topic:"會議主題",summary_speakers:"發言人",summary_abstract:"會議摘要",summary_section:"片段數",summary_loading:"正在載入紀要…",summary_generate:"生成紀要",summary_generating:"生成中…",summary_regenerate:"重新生成",summary_failed:"紀要生成失敗",summary_copy:"複製",summary_copied:"已複製",summary_copy_success:"紀要已複製到剪貼簿",summary_copy_failed:"複製失敗",transcript_copy:"複製",transcript_copied:"已複製",transcript_copy_success:"逐字稿已複製到剪貼簿",transcript_copy_failed:"複製失敗",summary_retry:"重新生成",summary_recharge:"前往儲值",summary_open_subscription:"升級訂閱",summary_open_settings:"開啟設定",summary_show_details:"展開技術細節",summary_idle_hint:"點上方「生成紀要」按鈕,按目前 AI 通道生成 Markdown 紀要(設定 → AI → 提示詞 → 會議紀要 可改預設提示)。",summary_empty_transcript:"本次會議沒有可總結的內容。",export:"匯出",export_default_name:"會議-{{date}}-{{shortId}}",export_md_filter:"Markdown",export_doc_title:"會議記錄",export_meta_created:"時間",export_meta_duration:"時長",export_meta_speakers:"說話人數",export_meta_segments:"段數",export_success:"已匯出至 {{path}}",export_failed:"匯出失敗"},translate:{toggle:"雙語翻譯",target_lang:"翻譯目標語言",hint:"AI 翻譯 · 消耗額度",translating:"翻譯中…"}},R0={title:"無線麥克風",subtitle:"連接您的 OpenSpeech 無線麥克風",bound_dashboard:{subtitle_online:"已連線 · 透過 {{channel}}",subtitle_provisioned:"已配網,正在透過 Wi-Fi 建立連線 ({{ip}})…",subtitle_offline:"離線 · 等待裝置上線",battery:"電量",signal:"訊號",channel:"通道",firmware:"韌體",unbind:"移除裝置",others_title:"其他已綁定裝置",activate:"啟用",add_new:"新增裝置",back_to_devices:"返回裝置列表"},hub:{title_scanning:"正在搜尋附近裝置",subtitle_scanning:"請確認麥克風已開機並處於配網模式(首次開機或長按重設 5 秒)。",title_idle:"搜尋附近裝置",title_found_one:"發現 {{count}} 台裝置",title_found_other:"發現 {{count}} 台裝置",title_found:"發現 {{count}} 台裝置",subtitle_found:"點擊下方裝置以連線到您的電腦。",title_no_adapter:"未開啟藍牙",subtitle_no_adapter:"請至系統設定開啟藍牙後重試。",connect:"連線",unnamed_device:"未命名裝置",signal_strong:"訊號強",signal_medium:"訊號中",signal_weak:"訊號弱"},provision_status:{connecting:"正在連線",awaiting_challenge:"等待配對碼",waiting_confirm:"請確認配對碼",pairing:"驗證中",waiting_provision:"請輸入 WiFi",provisioning:"配網中",provision_failed:"配網失敗",provisioned:"配網成功"},connect_dialog:{title:"連線到此裝置",subtitle:"首次連線需要在麥克風螢幕上確認配對碼。",cancel:"取消",done:"完成",connecting:"正在連線裝置…",confirm_hint:"請核對麥克風螢幕上的配對碼與下方一致。",accept:"確認",reject:"拒絕",pairing:"驗證中…",wifi_hint:"請輸入麥克風要連線的 WiFi 名稱與密碼。",use_current_wifi:"使用目前 WiFi",autofill_password_skipped:"密碼自動填充已略過,請手動輸入。",autofill_failed:"無法讀取目前 WiFi,請手動輸入。",ssid_label:"WiFi 名稱(SSID)",ssid_placeholder:"選擇一個 WiFi",ssid_pick_from_list:"從列表選擇",ssid_manual_entry:"手動輸入 SSID",psk_label:"WiFi 密碼",submit_wifi:"開始配網",provisioning:"配網中…",retry_provision:"再次嘗試",provision_failed_generic:"配網失敗,請檢查 WiFi 後重試。",provision_failed_stage_0:"WiFi 密碼錯誤或網路不存在,請重試。",provision_failed_stage_1:"WiFi 訊號弱或路由器拒絕連線。",provision_failed_stage_2:"暫不支援企業 WiFi。",provision_failed_stage_3:"WiFi 已連,但路由器未分配 IP。",provision_failed_stage_4:"網路無 DNS,請檢查路由器。",provision_failed_stage_5:"WiFi 已連,但無法存取網路。",provision_failed_stage_6:"找不到電腦端,請確認電腦端已開啟。",provision_failed_stage_7:"桌面端回應逾時。",provision_failed_stage_8:"憑據無效,請重新登入。",success_title:"配網成功",success_subtitle:"麥克風已連上 WiFi(IP: {{ip}}),可以開始使用了。"},paired_strip:{title:"已連線的裝置",remove:"移除",confirm_remove:"要移除「{{label}}」嗎?"},server:{title:"WS 服務",running:"執行中",stopped:"已停止",host_label:"位址",mdns_label:"mDNS",connections_label:"線上",start:"啟動",stop:"停止"},list:{title:"設備",empty_title:"等待設備連線",empty_hint:"mDNS 服務已發佈,將 ESP32 麥克風連到同一網段即可被發現。",paired_section:"已配對"},ble_scan:{start:"掃描",scanning:"掃描中…",no_adapter:"未偵測到藍牙介面卡",error_prefix:"掃描錯誤:",nearby_section:"附近",pair_cta:"配對(即將推出)",pair_unavailable_hint:"SPAKE2 配對與 WiFi 下發仍在 P1 開發中,目前僅支援掃描發現。"},card:{online:"線上",offline:"離線",unnamed:"未命名",fw_short:"韌體"},detail:{online:"線上",offline:"離線",device_id:"ID",bound_user:"綁定用戶",first_paired:"首次配對",last_seen:"最近上線",channel:"通道",rtt:"RTT",rssi:"訊號",battery:"電量",protocol:"協定",firmware:"韌體",send_text_title:"推送文字",send_text_placeholder:"輸入要下發到設備螢幕的文字…",target_app_placeholder:"目標 app(選填)",send_text:"傳送",send_text_ok:"已傳送文字",send_text_failed:"傳送失敗",ota_title:"推送 OTA",ota_pick_file:"選擇韌體",ota_no_file:"未選擇韌體",ota_version_placeholder:"目標版本 1.0.0",ota_push:"推送",ota_started:"已開始推送 OTA",ota_failed:"推送失敗",last_text_result:"最近一次辨識結果",rename_save:"儲存",rename_cancel:"取消",rename_failed:"重新命名失敗",remove:"移除設備",remove_title:"移除設備",remove_desc:"確定要移除「{{label}}」嗎?將斷開連線並清除註冊紀錄。",remove_confirm:"確認移除",remove_ok:"設備已移除",remove_failed:"移除失敗",no_selection_title:"未選取設備",no_selection_hint:"在左側選擇一台設備查看詳情並執行動作。"},battery_tier:{normal:"正常",low:"電量低",critical:"嚴重不足",no_record:"無紀錄",deep_sleep:"深度睡眠"},events:{title:"事件流",empty:"暫無事件"}},nO={transcribe:T0,home:A0,history:x0,dictionary:w0,layout:E0,search_box:O0,toolbox:C0,meetings:k0,devices:R0},iO=Object.freeze(Object.defineProperty({__proto__:null,default:nO,devices:R0,dictionary:w0,history:x0,home:A0,layout:E0,meetings:k0,search_box:O0,toolbox:C0,transcribe:T0},Symbol.toStringTag,{value:"Module"})),M0={title:"優化",empty:"暫無可優化的辨識結果",cancel:"取消",save:"優化並複製",saving:"優化中…",learn_hint:"AI 會從這次優化中學習,下次辨識更懂你",close_aria:"關閉"},D0={saved_title:"已儲存優化",saved_description:"新文字已複製到剪貼簿,回到原輸入框貼上即可",save_failed_title:"儲存失敗"},aO={edit_last_record:M0,toast:D0},sO=Object.freeze(Object.defineProperty({__proto__:null,default:aO,edit_last_record:M0,toast:D0},Symbol.toStringTag,{value:"Module"})),L0={section_index:"[04] 系統",title:"設定",subtitle:"設定聽寫、模型端點與應用程式行為。變更即時生效,無需儲存。",dialog_title:"設定",dialog_sr:"OpenSpeech 設定"},z0={title:"已回退至 OpenLoaf SaaS",description:"{{which}}的自訂供應商未通過測試,已切換為雲端服務",dictation:"聽寫",ai:"AI 改寫",both:"聽寫與 AI 改寫",confirm_title:"自訂供應商未通過測試",confirm_description:"{{which}}所選的自訂供應商還沒有通過測試,無法在此模式下套用。繼續關閉設定會自動回退至 OpenLoaf SaaS 雲端服務。",confirm_back_to_test:"返回測試",confirm_proceed:"回退至 SaaS 並關閉"},N0={general:"一般",hotkeys:"快速鍵",dictation:"聽寫",model:"模型",ai:"AI",prompts:"系統提示詞",about:"關於",dev_hints:"提示偵錯"},j0={reset_all:"重置全部",reset_all_confirm:"確定將所有快速鍵恢復為預設值?",reset_all_done:"已恢復預設快速鍵"},V0={shortcuts:"鍵盤快速鍵",language:"語言",audio:"音訊",asr_segment:"聽寫模式",text_injection:"文字注入",behavior:"行為",model_rest:"大型模型(REST)",build:"建置",output:"輸出方式",hints:"教學與提示"},B0={interface_lang:"介面語言",translate_target_lang:"翻譯目標語言",translate_target_lang_hint:"翻譯聽寫快速鍵命中後,轉寫文字會被翻譯成此語言再注入到目前焦點。",translate_output_mode:"翻譯輸出形態",translate_output_mode_hint:"「雙語」保留原文並追加譯文;「僅目標語言」只輸出譯文,速度更快。",input_device:"輸入裝置",input_level:"輸入音量",input_level_hint_listening:"即時音量 · 正在監聽:{{name}}",input_level_hint:"即時麥克風音量",cue_sound:"開始/結束提示音",restore_clipboard:"貼上後還原剪貼簿",restore_clipboard_hint:"建議保持開啟",launch_startup:"開機自動啟動",close_to_tray:"關閉時最小化至系統列",close_to_tray_hint:"開啟後關閉主視窗會直接隱藏至系統列;關閉時每次都會跳出確認對話框",update_policy:"自動更新",update_policy_hint:"選擇背景發現新版本時的處理方式",update_policy_options:{prompt:"提示我安裝",auto:"閒置時自動安裝",disabled:"關閉"},loading:"// loading settings…",dictation_output_lang:"聽寫輸出語言",dictation_output_lang_hint:"聽寫轉寫出來的文字使用哪種語言。「自動」時由 ASR 自行判定,並以介面語言作為預設對照。",translate_conflict_warning:"目標語言與聽寫輸出語言相同,翻譯將無意義。",show_hints:"顯示互動提示",show_hints_hint:"在懸浮列與結果區域顯示快速鍵教學小氣泡;學會後自動隱藏。關掉後所有教學提示一律不彈。",reset_hints:"重置互動提示",reset_hints_action:"全部重置",reset_hints_done:"已重置教學提示",hints_pending_count:"未學會 {{pending}} / {{total}}",hints_all_learned:"已全部學會"},U0={system_default:"跟隨系統",system_default_with_current:"跟隨系統(目前:{{name}})",is_default_suffix:"{{name}} · 系統預設",disconnected_with_fallback:"{{name}} · 已中斷,暫用系統預設({{fallback}})",disconnected:"{{name}} · 已中斷"},H0={realtime_label:"即時轉換",realtime_hint:"伺服器端依停頓自動切句,錄音過程中即時回填;適合長時間會議字幕、直播轉寫等無人值守情境。",utterance_label:"整句聽寫",utterance_hint:"整段錄音視為一次完整對話,放開按鍵後再回傳轉寫結果;模型擁有完整上下文,更準確且不易被停頓誤切。",ai_refine_toggle:{label:"啟用 AI 優化",hint:"在「整句聽寫」基礎上呼叫大型模型整理:去口頭禪、消重、識別自我修正;同語言不翻譯。",disabled_in_realtime:"即時轉換模式下不可用"}},P0={streaming_inject:{label:"文字逐字輸出",hint:"預設開啟:模型邊產出,文字邊鍵入到游標位置。關閉後改為整段一次貼上,可繞過微信輸入法 / 部分全拼輸入法的逐字攔截(首字被吞、雙逗號等異常)。"},clipboard_copy:{label:"自動複製到剪貼簿",hint:"預設關閉:注入完成後會還原你原本的剪貼簿內容,不污染複製佇列。開啟後整段文字保留在剪貼簿,方便再次手動貼上。"}},K0={byo_unavailable_tag:"// BYO-MODEL · 尚未實作",byo_unavailable_body:"自訂 STT REST 端點(端點 URL/API Key/模型名稱/測試連線)尚未接入,目前所有聽寫均走 OpenLoaf SaaS。此入口開發中,下一版本將啟用。",endpoint:"端點 URL",api_key:"API Key",api_key_hint:"儲存於系統金鑰圈;失去焦點時自動儲存",model_name:"模型名稱",timeout_seconds:"請求逾時(秒)",audio_format:"音訊格式",test_connection_disabled:"測試連線(尚未實作)",show_key:"顯示 API Key",hide_key:"隱藏 API Key",key_saved_toast:"API Key 已儲存至系統金鑰圈",key_save_failed_toast:"API Key 儲存失敗: {{error}}"},q0={section_mode:"AI 通道",mode_saas_label:"雲端(推薦)",mode_saas_hint:"使用 OpenLoaf 已登入帳號的快速 chat 模型,依積分計費。",mode_custom_label:"自訂供應商",mode_custom_hint:"OpenAI 相容協定;自帶 API Key,可加入多個供應商但同時間僅能啟用一個。",section_providers:"自訂供應商",providers_empty:"尚未新增自訂供應商",provider_name:"名稱",provider_base_url:"Base URL",provider_model:"模型",provider_api_key:"API Key",provider_api_key_hint:"儲存於系統金鑰圈;失去焦點時自動儲存",provider_active:"目前啟用",provider_set_active:"設為啟用",provider_remove:"刪除",provider_test:"測試",provider_test_running:"測試中…",provider_test_pass:"測試通過",provider_test_fail:"測試失敗:{{message}}",provider_test_missing_fields:"Base URL 或模型未填寫",provider_test_empty_reply:"模型未回傳內容",provider_add:"新增供應商",provider_default_name:"新供應商",provider_default_base_url:"https://api.openai.com/v1",provider_default_model:"gpt-4o-mini",section_prompts:"系統提示詞",prompts_hint:"預設跟隨目前介面語言;一旦修改即視為自訂,對所有語言生效。",prompts_intro:"AI 在不同場景下使用的提示詞,改一改就能調整輸出風格。改動會自動儲存。",prompt_tab_refine:"聽寫優化",prompt_tab_translate:"翻譯",prompt_tab_polish:"潤飾",prompt_tab_meeting:"會議紀要",prompt_edit:"修改",prompt_status_custom:"已自訂",prompt_status_default:"預設",prompt_desc_refine:"鬆開聽寫按鍵後,AI 會把語音轉寫整理為更通順的書面文字(錯字、口頭禪、斷句),再注入目前的應用程式。",prompt_desc_translate:"透過「翻譯」快捷鍵觸發,把聽寫文字翻譯為上方設定的目標語言。",prompt_desc_polish:"AI 工具箱「潤飾」頁面使用,可搭配下方場景列表(電子郵件、微信等)依需切換語氣。",prompt_desc_meeting:"「會議」頁面將整段會議錄音轉寫後,依本提示詞整理為結構化紀要。",prompt_dialog_title_refine:"聽寫優化提示詞",prompt_dialog_title_translate:"翻譯提示詞",prompt_dialog_title_meeting:"會議紀要提示詞",prompt_dialog_textarea_label:"系統提示詞",polish_dialog_title:"潤飾設定",polish_dialog_subtitle:"調整潤飾用的系統提示詞,並維護 AI 工具箱中出現的場景列表。",polish_dialog_tab_prompt:"提示詞",polish_dialog_tab_scenarios:"場景",polish_dialog_prompt_label:"潤飾提示詞",polish_scenarios_title:"潤飾場景",polish_scenarios_hint:"AI 工具箱「潤飾」頁底部 chip 列表的來源;執行時會把所選場景的指示拼接到潤飾系統提示詞之後。",polish_scenarios_empty:"尚未新增潤飾場景",polish_scenario_default_name:"新場景",polish_scenario_remove:"刪除",polish_scenario_add:"新增場景",polish_scenario_instruction_placeholder:"例如:目標場景是商務郵件,語氣正式,依問候 / 正文 / 結尾分段。",refine_dialog_subtitle:"調整 AI 整理聽寫文字的方式。可以改一改、刪一刪,或整批恢復預設。",refine_dialog_tab_rules:"規則",refine_dialog_tab_examples:"範例",refine_dialog_tab_overrides:"依應用",refine_dialog_advanced_badge:"進階",refine_status_count_one:"{{count}} 條規則",refine_status_count_other:"{{count}} 條規則",refine_status_default:"預設",refine_status_modified:"已修改",refine_rules_empty_after_clear:"規則已全部刪除——執行時會跳過規則段。點下方新增規則,或點上方「恢復預設」回到預設 6 條。",refine_rules_empty_my_rules:"尚未新增你自己的規則。AI 正在使用一套通用的預設規則;如果想微調,可以下方新建一條,或從某條預設規則開始改。",refine_rules_count:"{{current}} / {{max}}",refine_rule_add:"新建規則",refine_rule_import_default:"從預設規則開始",refine_rule_import_picker_title:"選一條預設規則加入",refine_rule_clear_all:"清空全部",refine_rule_remove:"刪除",refine_rule_index:"規則 {{index}}",refine_rule_body_placeholder:"這條規則告訴 AI 怎麼處理你的聽寫文字,多段以空行分隔。",prompt_panel_save_hint:"改動會自動儲存。",advanced_title:"進階",app_override_rules_hint:"這組規則僅對目前應用程式生效,會覆寫上面的全域規則。",refine_panel_intro:"教 AI:當你說類似這樣的話,應該整理成這樣。範例越具體,整理結果就越貼近你想要的風格。",refine_examples_my_title:"我的案例",refine_examples_my_hint:"以「口語 → 希望輸出」成對餵給模型;越靠前權重越高。",refine_examples_count:"{{current}} / {{max}}",refine_example_add:"新增案例",refine_example_remove:"刪除",refine_example_input_label:"口語",refine_example_output_label:"希望輸出",refine_example_focus_label:"重點 / 關鍵點(選填)",refine_example_target_label:"適用範圍",refine_example_input_placeholder_v2:"你對著麥克風說了什麼(口語 / 錯字 / 口頭禪)",refine_example_output_placeholder_v2:"你希望整理成的樣子(書面、自洽、可貼到輸入框)",refine_example_focus_placeholder_v2:"例如:保留專有名詞、把英文術語還原",refine_example_target_option:{"*":"通用(所有場景)",chat:"聊天軟體(微信 / Slack / iMessage)",code:"命令終端 / 程式碼編輯器",doc:"文件 / 文字編輯器",email:"電子郵件",browser:"瀏覽器",meeting:"會議",other:"其他"},app_overrides_title:"依應用覆寫",app_overrides_hint:"為特定應用單獨設定規則與案例:命中時優先使用此處規則,案例拼接在全域之前。僅匹配跑過 refine 並留下 appId 的應用。",app_overrides_empty:"尚未新增覆寫",app_overrides_count:"{{current}} / {{max}}",app_override_add:"新增覆寫",app_override_remove:"刪除",app_override_enabled:"啟用",app_override_expand:"展開",app_override_collapse:"收合",app_override_core_rules_label:"覆寫核心規則(留空沿用全域)",app_override_core_rules_clear:"清空",app_override_core_rules_placeholder:"為此應用客製的 <core_rules>...</core_rules>;留空表示沿用全域核心規則。",app_override_picker_title:"選擇要覆寫的應用",app_override_no_history:"尚無可覆寫的應用——先在該應用裡跑一次聽寫優化,讓它出現在歷史中。",prompt_reset:"恢復預設",section_history:"上下文",include_history:"把最近的歷史一同送出",include_history_hint:"把最近的 transcript 作為參考上下文,協助模型沿用一致的語氣與術語。",recent_history_count:"攜帶筆數",recent_history_count_hint:"AI 上下文最多攜帶最近多少筆歷史;筆數越多偏置越強,但 token 消耗也越多。",minutes_ago:"分鐘前",history_truncated:"省略 {{count}} 字"},Y0={en:"English",zh:"简体中文","zh-TW":"繁體中文",ja:"日本語",ko:"한국어",fr:"Français",de:"Deutsch",es:"Español"},G0={target_only:"僅目標語言",bilingual:"雙語(原文 + 譯文)"},I0={label:"聽寫語言",hint:"選擇你說話使用的語言;選「自動」讓上游 ASR 自偵測,遇歧義以介面語言對照。",follow_interface:"跟隨介面語言",auto:"自動",zh:"中文",en:"English",ja:"日本語",ko:"한국어",yue:"粵語"},$0={section_mode:"聽寫通道",mode_saas_label:"OpenLoaf 雲端(預設)",mode_saas_hint:"使用已登入帳號走 OpenLoaf 託管的語音辨識,按點數計費。聽寫與會議轉錄共用同一通道。",mode_custom_label:"自訂供應商",mode_custom_hint:"用自己的騰訊雲 / 阿里雲金鑰直連廠商 API,不經 SaaS。會議轉錄需選擇「騰訊雲」(內建說話人分離)。",section_providers:"自訂供應商",providers_empty:"尚未新增任何自訂供應商",add_tencent:"新增騰訊雲",add_aliyun:"新增阿里雲",vendor_tencent:"騰訊雲",vendor_aliyun:"阿里雲 DashScope",active_label:"目前啟用 · {{vendor}}",set_active:"設為啟用",remove:"刪除",name_label:"名稱",tencent_default_name:"騰訊雲語音辨識",tencent_app_id:"AppID",tencent_region:"區域(Region)",tencent_secret_id:"Secret ID",tencent_secret_key:"Secret Key",tencent_credentials_hint:"憑證儲存於系統金鑰鏈;失去焦點時自動儲存。可至騰訊雲主控台 → API 金鑰管理取得。",tencent_cos_bucket_label:"COS 儲存桶",tencent_cos_bucket_placeholder:"myaudio-1234567890",tencent_cos_bucket_hint:"必填:錄音先上傳 COS 再轉寫,單檔 ≤512MB。不填則受騰訊檔案介面 base64 5MB 限制,超過後無法轉寫。",aliyun_default_name:"阿里雲 DashScope",aliyun_api_key:"ApiKey",aliyun_api_key_hint:"儲存於系統金鑰鏈;失去焦點時自動儲存。可至 DashScope 主控台取得。",test:"測試",test_running:"測試中…",test_pass:"測試通過:憑證有效",test_fail:"測試失敗:{{message}}",test_missing_fields:"必填欄位未填",verified_badge:"已驗證",unverified_badge:"未驗證",test_code:{ok:"測試通過",unauthenticated:"驗證失敗:請檢查 Secret/ApiKey 是否正確",service_not_enabled:"憑證有效,但語音辨識服務尚未在此帳號下開通",missing_fields:"必填欄位未填",network:"網路不可達,請檢查連線與防火牆",timeout:"請求逾時,請稍後重試",rate_limited:"呼叫過於頻繁",cos_unauthorized:"ASR 憑證有效,但目前 SecretId 無權存取此 COS 儲存桶",cos_not_found:"ASR 憑證有效,但 COS 儲存桶不存在或地域不符",oss_policy_failed:"ApiKey 有效,但取得 OSS 上傳憑證失敗:帳號可能未開通百煉錄音檔資源",unknown:"未知錯誤"}},X0={version:"版本",platform:"平台",license:"授權",source:"原始碼",check_update:"檢查更新",dev_build:"目前是開發版",rerun_onboarding:"重新執行首次導覽",install_now:"立即安裝",skip_version:"略過此版本",install_in_progress:"正在下載並安裝更新…",install_progress:"{{version}} · {{percent}}% · {{downloaded}} / {{total}}",install_starting:"{{version}} · 已下載 {{downloaded}}",install_finalizing:"下載完成,正在安裝…",install_failed:"更新安裝失敗",update_channel:"更新通道",update_channel_stable:"正式版",update_channel_beta:"Beta(搶先體驗)",update_channel_hint:"Beta 通道更早收到新功能,但可能不穩定。關閉 Beta 後只會接收到版本號高於當前 Beta 的正式版。",open_log_dir:"開啟日誌目錄",saas_sdk_version:"SaaS SDK 版本"},F0={title:"互動提示偵錯",subtitle:"僅 dev 構建可見 · 用於回歸 hint 行為",global_switch:"全域顯示提示",reset_all:"全部重置",col_id:"ID",col_category:"類別",col_threshold:"閾值",col_success:"成功次數",col_dismissed:"已關閉",col_should:"應顯示",col_actions:"操作",yes:"是",no:"否",dismiss:"關閉",reset:"重置",force:"強制顯示",forcing:"強制中",note:"新增 hint 步驟:① settings.ts 加 HintId ② lib/hints.ts 註冊 HINT_REGISTRY ③ overlay.json 加文案 ④ 呼叫端掛 useHintBubble。完成後此表會自動出現。"},oO={page:L0,provider_rollback:z0,tabs:N0,hotkeys:j0,section:V0,general:B0,device:U0,asr_segment:H0,output:P0,model:K0,ai:q0,translate_target_lang:Y0,translate_output_mode:G0,dictation_lang:I0,dictation_provider:$0,about:X0,dev_hints:F0},lO=Object.freeze(Object.defineProperty({__proto__:null,about:X0,ai:q0,asr_segment:H0,default:oO,dev_hints:F0,device:U0,dictation_lang:I0,dictation_provider:$0,general:B0,hotkeys:j0,model:K0,output:P0,page:L0,provider_rollback:z0,section:V0,tabs:N0,translate_output_mode:G0,translate_target_lang:Y0},Symbol.toStringTag,{value:"Module"})),Q0="意見回饋",Z0="開啟首頁",W0="AI 工具",J0="歷史紀錄",e1="設定…",t1="選擇麥克風",n1="Auto-detect",i1="Auto-detect ({{name}})",a1="字典",s1="檢查更新",o1="結束 OpenSpeech",rO={feedback:Q0,open_home:Z0,open_toolbox:W0,open_history:J0,open_settings:e1,mic_submenu:t1,auto_detect:n1,auto_detect_with_name:i1,open_dictionary:a1,check_update:s1,quit:o1},uO=Object.freeze(Object.defineProperty({__proto__:null,auto_detect:n1,auto_detect_with_name:i1,check_update:s1,default:rO,feedback:Q0,mic_submenu:t1,open_dictionary:a1,open_history:J0,open_home:Z0,open_settings:e1,open_toolbox:W0,quit:o1},Symbol.toStringTag,{value:"Module"})),cO=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,dO={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},fO=a=>dO[a],hO=a=>a.replace(cO,fO);let wc={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:hO,transDefaultProps:void 0};const pO=(a={})=>{wc={...wc,...a}},tD=()=>wc;let l1;const _O=a=>{l1=a},nD=()=>l1,mO={type:"3rdParty",init(a){pO(a.options.react),_O(a)}},iD=["zh-CN","zh-TW","en"],gO=Object.assign({"./locales/en/common.json":Jw,"./locales/en/dialogs.json":tE,"./locales/en/errors.json":iE,"./locales/en/feedback.json":sE,"./locales/en/hotkey.json":lE,"./locales/en/onboarding.json":uE,"./locales/en/overlay.json":dE,"./locales/en/pages.json":hE,"./locales/en/quickPanel.json":_E,"./locales/en/settings.json":gE,"./locales/en/tray.json":vE,"./locales/zh-CN/common.json":SE,"./locales/zh-CN/dialogs.json":AE,"./locales/zh-CN/errors.json":wE,"./locales/zh-CN/feedback.json":OE,"./locales/zh-CN/hotkey.json":kE,"./locales/zh-CN/onboarding.json":ME,"./locales/zh-CN/overlay.json":LE,"./locales/zh-CN/pages.json":NE,"./locales/zh-CN/quickPanel.json":VE,"./locales/zh-CN/settings.json":UE,"./locales/zh-CN/tray.json":PE,"./locales/zh-TW/common.json":qE,"./locales/zh-TW/dialogs.json":GE,"./locales/zh-TW/errors.json":$E,"./locales/zh-TW/feedback.json":FE,"./locales/zh-TW/hotkey.json":ZE,"./locales/zh-TW/onboarding.json":JE,"./locales/zh-TW/overlay.json":tO,"./locales/zh-TW/pages.json":iO,"./locales/zh-TW/quickPanel.json":sO,"./locales/zh-TW/settings.json":lO,"./locales/zh-TW/tray.json":uO}),Ec={"zh-CN":{},"zh-TW":{},en:{}},r1=new Set;for(const[a,i]of Object.entries(gO)){const o=a.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const l=o[1],u=o[2];l in Ec&&(Ec[l][u]=i.default,r1.add(u))}function u1(){const a=typeof navigator<"u"&&navigator.language||"en";return a.toLowerCase().startsWith("zh")?/-(tw|hk|mo)$/i.test(a)||/hant/i.test(a)?"zh-TW":"zh-CN":"en"}function aD(a){return a==="system"?u1():a}const yO=u1();we.use(mO).init({resources:Ec,lng:yO,fallbackLng:"en",ns:Array.from(r1),defaultNS:"common",interpolation:{escapeValue:!1},returnNull:!1});let ca=null;function vO(){if(ca)return ca;const a=typeof navigator<"u"?navigator.userAgent.toLowerCase():"";return a.includes("mac")?ca="macos":a.includes("win")?ca="windows":ca="linux",ca}const em=["fn","ctrl","alt","shift","meta"],Ti=["dictate_ptt","translate","show_main_window","open_toolbox","edit_last_record"];function bO(a){let i,o;return a==="macos"?(i={kind:"modifierOnly",mods:["fn","ctrl"],code:"",modSides:{ctrl:"left"}},o={kind:"modifierOnly",mods:["fn","shift"],code:"",modSides:{shift:"left"}}):a==="windows"?(i={kind:"modifierOnly",mods:["alt","meta"],code:"",modSides:{alt:"left",meta:"left"}},o={kind:"modifierOnly",mods:["ctrl"],code:"",modSides:{ctrl:"right"}}):(i={kind:"modifierOnly",mods:["ctrl","meta"],code:"",modSides:{ctrl:"left",meta:"left"}},o={kind:"modifierOnly",mods:["alt","meta"],code:"",modSides:{alt:"left",meta:"left"}}),{dictate_ptt:i,translate:o,show_main_window:{kind:"combo",mods:["shift","meta"],code:"KeyO",modSides:{shift:"left",meta:"left"}},open_toolbox:a==="windows"?{kind:"combo",mods:["ctrl","alt"],code:"KeyT",modSides:{ctrl:"left",alt:"left"}}:{kind:"combo",mods:["shift","meta"],code:"KeyT",modSides:{shift:"left",meta:"left"}},edit_last_record:a==="macos"?{kind:"combo",mods:["shift","meta"],code:"KeyE",modSides:{shift:"left",meta:"left"}}:{kind:"combo",mods:["ctrl","shift"],code:"KeyE",modSides:{ctrl:"left",shift:"left"}}}}new Proxy({},{get(a,i){return bO(vO())[i]},has(a,i){return Ti.includes(i)},ownKeys(){return[...Ti]},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});const SO=new Proxy({},{get(a,i){if(Ti.includes(i))return we.t(`hotkey:binding.${i}`)},has(a,i){return Ti.includes(i)},ownKeys(){return[...Ti]},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});function sD(a){return[...new Set(a)].sort((i,o)=>em.indexOf(i)-em.indexOf(o))}const Jc={ControlLeft:{mod:"ctrl",side:"left"},ControlRight:{mod:"ctrl",side:"right"},AltLeft:{mod:"alt",side:"left"},AltRight:{mod:"alt",side:"right"},ShiftLeft:{mod:"shift",side:"left"},ShiftRight:{mod:"shift",side:"right"},MetaLeft:{mod:"meta",side:"left"},MetaRight:{mod:"meta",side:"right"},OSLeft:{mod:"meta",side:"left"},OSRight:{mod:"meta",side:"right"},Fn:{mod:"fn",side:null}};function TO(a){return Jc[a]?.mod??null}function AO(a){return Jc[a]?.side??null}function xO(a){return a in Jc}function Oc(a,i){return i==="fn"?null:a.modSides?.[i]??"left"}const wO=["Tab","Backspace","Delete","CapsLock","NumLock","ScrollLock"],EO=["Escape","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];function OO(a,i,o=!1){return xO(a)?{ok:!1,reason:we.t("hotkey:validation.needs_main_key")}:wO.includes(a)?{ok:!1,reason:we.t("hotkey:validation.combo_disallowed_main")}:!o&&EO.includes(a)?{ok:!1,reason:we.t("hotkey:validation.special_keys_locked")}:i.length===0&&MO(a)?{ok:!1,reason:we.t("hotkey:validation.typing_key_needs_modifier")}:{ok:!0}}function CO(a,i,o=!1){return a.mods.includes("fn")&&i!=="macos"?{ok:!1,reason:we.t("hotkey:validation.fn_macos_only")}:a.kind==="modifierOnly"?a.code!==""?{ok:!1,reason:we.t("hotkey:validation.modifier_only_no_main")}:a.mods.length<1?{ok:!1,reason:we.t("hotkey:validation.modifier_only_min")}:{ok:!0}:a.kind==="doubleTap"?a.code!==""?{ok:!1,reason:we.t("hotkey:validation.double_tap_no_main")}:a.mods.length!==1?{ok:!1,reason:we.t("hotkey:validation.double_tap_single_mod")}:i==="macos"&&a.mods[0]==="fn"?{ok:!1,reason:we.t("hotkey:validation.double_tap_fn_macos")}:{ok:!0}:a.mods.includes("fn")?{ok:!1,reason:we.t("hotkey:validation.combo_no_fn")}:OO(a.code,a.mods,o)}function kO(a,i){return i?`${a}:${i}`:a}function tm(a){const i=new Set;for(const o of a.mods)i.add(kO(o,Oc(a,o)));return i}function gs(a,i){if(a.size>=i.size)return!1;for(const o of a)if(!i.has(o))return!1;return!0}function RO(a,i,o){const l=tm(i),u=new Set(i.mods);for(const d of Ti){if(d===o)continue;const f=a[d];if(!f)continue;if(jO(f,i))return{kind:"equal",with:d};const h=tm(f);if(i.kind==="modifierOnly"&&f.kind==="modifierOnly"&&(gs(l,h)||gs(h,l)))return{kind:"subset_modifier_only",with:d};if(i.kind==="modifierOnly"&&f.kind==="combo"&&(gs(l,h)||l.size===h.size)&&gs(l,h))return{kind:"subset_combo",with:d};if(i.kind==="combo"&&f.kind==="modifierOnly"&&gs(h,l))return{kind:"subset_combo",with:d};if(i.kind==="doubleTap"&&f.kind==="modifierOnly"){const m=i.mods[0];if(m&&f.mods.includes(m))return{kind:"double_tap_overlap_modifier",with:d}}if(i.kind==="modifierOnly"&&f.kind==="doubleTap"){const m=f.mods[0];if(m&&u.has(m))return{kind:"double_tap_overlap_modifier",with:d}}}return null}function oD(a,i,o){const l=[],u=new Set;for(const d of Ti){const f=a[d];if(!f)continue;const h=CO(f,i,o);if(!h.ok){l.push({id:d,error:h.reason??""}),u.add(d);continue}const m=RO(a,f,d);if(m&&!u.has(d)){const _=we.t(`dialogs:hotkey_field.conflict_reason.${m.kind}`,{name:SO[m.with]});l.push({id:d,error:_}),u.add(d)}}return l}function lD(a,i){const o=[];return i==="macos"&&a.kind==="combo"&&a.mods.length===0&&/^F([1-9]|1[0-2])$/.test(a.code)&&o.push("hotkey:warning.f_key_bare"),a.kind==="modifierOnly"&&a.mods.length===1&&o.push(`hotkey:warning.modifier_only_single_${i}`),a.kind==="combo"&&DO(a,i)&&o.push("hotkey:warning.system_shortcut"),o}function MO(a){return/^Key[A-Z]$/.test(a)||/^Digit\d$/.test(a)||/^Numpad\d$/.test(a)||a==="Space"?!0:["Backquote","Minus","Equal","BracketLeft","BracketRight","Backslash","Semicolon","Quote","Comma","Period","Slash","IntlBackslash","IntlRo","IntlYen","NumpadAdd","NumpadSubtract","NumpadMultiply","NumpadDivide","NumpadDecimal"].includes(a)}function DO(a,i){const o=new Set(a.mods),l=(...u)=>o.size===u.length&&u.every(d=>o.has(d));return i==="macos"?!!(l("meta")&&["KeyQ","KeyW","KeyH","KeyM","Tab","Space"].includes(a.code)||l("meta","shift")&&["Digit3","Digit4","Digit5"].includes(a.code)||l("ctrl","meta")&&a.code==="KeyQ"||l("meta","alt")&&a.code==="Escape"):i==="windows"?!!(l("meta")&&["KeyL","KeyD","KeyE","KeyR","Tab","KeyH","KeyI","KeyS"].includes(a.code)||l("alt")&&a.code==="F4"||l("alt")&&a.code==="Tab"||l("ctrl","alt")&&a.code==="Delete"):!1}const LO={ctrl:"Ctrl",alt:"Option",shift:"Shift",meta:"Cmd",fn:"fn"},zO={ctrl:"Ctrl",alt:"Alt",shift:"Shift",meta:"Win",fn:"Fn"},NO={ctrl:"Ctrl",alt:"Alt",shift:"Shift",meta:"Super",fn:"Fn"};function ol(a,i){return i==="macos"?LO[a]:i==="windows"?zO[a]:NO[a]}const nm={Space:"Space",Enter:"Enter",Escape:"Esc",Tab:"Tab",Backspace:"⌫",Delete:"Del",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Backquote:"`",Minus:"-",Equal:"=",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Semicolon:";",Quote:"'",Comma:",",Period:".",Slash:"/",IntlBackslash:"\\",IntlRo:"\\",IntlYen:"¥"};function c1(a){return nm[a]?nm[a]:/^Key([A-Z])$/.test(a)?a.slice(3):/^Digit(\d)$/.test(a)?a.slice(5):/^Numpad(.+)$/.test(a)?`Num${a.slice(6)}`:a}function rD(a,i){if(!a)return we.t("hotkey:format.unbound");const o=i==="macos"?" ":" + ";return a.kind==="modifierOnly"?a.mods.map(u=>ol(u,i)).join(o):a.kind==="doubleTap"?we.t("hotkey:format.double_tap",{mod:ol(a.mods[0],i)}):[...a.mods.map(u=>ol(u,i)),c1(a.code)].join(o)}function jO(a,i){if(a===null&&i===null)return!0;if(a===null||i===null||a.kind!==i.kind||a.code!==i.code||a.mods.length!==i.mods.length||!a.mods.every((o,l)=>o===i.mods[l]))return!1;for(const o of a.mods)if(Oc(a,o)!==Oc(i,o))return!1;return!0}const d1=(...a)=>a.filter((i,o,l)=>!!i&&i.trim()!==""&&l.indexOf(i)===o).join(" ").trim();const VO=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const BO=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(i,o,l)=>l?l.toUpperCase():o.toLowerCase());const im=a=>{const i=BO(a);return i.charAt(0).toUpperCase()+i.slice(1)};var lc={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"};const UO=a=>{for(const i in a)if(i.startsWith("aria-")||i==="role"||i==="title")return!0;return!1},HO=Y.createContext({}),PO=()=>Y.useContext(HO),KO=Y.forwardRef(({color:a,size:i,strokeWidth:o,absoluteStrokeWidth:l,className:u="",children:d,iconNode:f,...h},m)=>{const{size:_=24,strokeWidth:g=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=PO()??{},w=l??v?Number(o??g)*24/Number(i??_):o??g;return Y.createElement("svg",{ref:m,...lc,width:i??_??lc.width,height:i??_??lc.height,stroke:a??b,strokeWidth:w,className:d1("lucide",x,u),...!d&&!UO(h)&&{"aria-hidden":"true"},...h},[...f.map(([L,V])=>Y.createElement(L,V)),...Array.isArray(d)?d:[d]])});const wi=(a,i)=>{const o=Y.forwardRef(({className:l,...u},d)=>Y.createElement(KO,{ref:d,iconNode:i,className:d1(`lucide-${VO(im(a))}`,`lucide-${a}`,l),...u}));return o.displayName=im(a),o};const qO=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],uD=wi("check",qO);const YO=[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]],GO=wi("command",YO);const IO=[["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z",key:"1f1r0c"}]],$O=wi("diamond",IO);const XO=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],cD=wi("key-round",XO);const FO=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],dD=wi("sparkles",FO);const QO=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],fD=wi("wand-sparkles",QO);const ZO=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],hD=wi("x",ZO),ed=Y.createContext({});function td(a){const i=Y.useRef(null);return i.current===null&&(i.current=a()),i.current}const WO=typeof window<"u",f1=WO?Y.useLayoutEffect:Y.useEffect,kl=Y.createContext(null);function nd(a,i){a.indexOf(i)===-1&&a.push(i)}function vl(a,i){const o=a.indexOf(i);o>-1&&a.splice(o,1)}const nn=(a,i,o)=>o>i?i:o<a?a:o;let id=()=>{};const Qn={},h1=a=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(a);function p1(a){return typeof a=="object"&&a!==null}const _1=a=>/^0[^.\s]+$/u.test(a);function m1(a){let i;return()=>(i===void 0&&(i=a()),i)}const Pt=a=>a,JO=(a,i)=>o=>i(a(o)),Ms=(...a)=>a.reduce(JO),Os=(a,i,o)=>{const l=i-a;return l===0?1:(o-a)/l};class ad{constructor(){this.subscriptions=[]}add(i){return nd(this.subscriptions,i),()=>vl(this.subscriptions,i)}notify(i,o,l){const u=this.subscriptions.length;if(u)if(u===1)this.subscriptions[0](i,o,l);else for(let d=0;d<u;d++){const f=this.subscriptions[d];f&&f(i,o,l)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const kt=a=>a*1e3,Ht=a=>a/1e3;function g1(a,i){return i?a*(1e3/i):0}const y1=(a,i,o)=>(((1-3*o+3*i)*a+(3*o-6*i))*a+3*i)*a,eC=1e-7,tC=12;function nC(a,i,o,l,u){let d,f,h=0;do f=i+(o-i)/2,d=y1(f,l,u)-a,d>0?o=f:i=f;while(Math.abs(d)>eC&&++h<tC);return f}function Ds(a,i,o,l){if(a===i&&o===l)return Pt;const u=d=>nC(d,0,1,a,o);return d=>d===0||d===1?d:y1(u(d),i,l)}const v1=a=>i=>i<=.5?a(2*i)/2:(2-a(2*(1-i)))/2,b1=a=>i=>1-a(1-i),S1=Ds(.33,1.53,.69,.99),sd=b1(S1),T1=v1(sd),A1=a=>a>=1?1:(a*=2)<1?.5*sd(a):.5*(2-Math.pow(2,-10*(a-1))),od=a=>1-Math.sin(Math.acos(a)),x1=b1(od),w1=v1(od),iC=Ds(.42,0,1,1),aC=Ds(0,0,.58,1),E1=Ds(.42,0,.58,1),sC=a=>Array.isArray(a)&&typeof a[0]!="number",O1=a=>Array.isArray(a)&&typeof a[0]=="number",oC={linear:Pt,easeIn:iC,easeInOut:E1,easeOut:aC,circIn:od,circInOut:w1,circOut:x1,backIn:sd,backInOut:T1,backOut:S1,anticipate:A1},lC=a=>typeof a=="string",am=a=>{if(O1(a)){id(a.length===4);const[i,o,l,u]=a;return Ds(i,o,l,u)}else if(lC(a))return oC[a];return a},tl=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function rC(a,i){let o=new Set,l=new Set,u=!1,d=!1;const f=new WeakSet;let h={delta:0,timestamp:0,isProcessing:!1};function m(g){f.has(g)&&(_.schedule(g),a()),g(h)}const _={schedule:(g,v=!1,b=!1)=>{const w=b&&u?o:l;return v&&f.add(g),w.add(g),g},cancel:g=>{l.delete(g),f.delete(g)},process:g=>{if(h=g,u){d=!0;return}u=!0;const v=o;o=l,l=v,o.forEach(m),o.clear(),u=!1,d&&(d=!1,_.process(g))}};return _}const uC=40;function C1(a,i){let o=!1,l=!0;const u={delta:0,timestamp:0,isProcessing:!1},d=()=>o=!0,f=tl.reduce((U,H)=>(U[H]=rC(d),U),{}),{setup:h,read:m,resolveKeyframes:_,preUpdate:g,update:v,preRender:b,render:x,postRender:w}=f,L=()=>{const U=Qn.useManualTiming,H=U?u.timestamp:performance.now();o=!1,U||(u.delta=l?1e3/60:Math.max(Math.min(H-u.timestamp,uC),1)),u.timestamp=H,u.isProcessing=!0,h.process(u),m.process(u),_.process(u),g.process(u),v.process(u),b.process(u),x.process(u),w.process(u),u.isProcessing=!1,o&&i&&(l=!1,a(L))},V=()=>{o=!0,l=!0,u.isProcessing||a(L)};return{schedule:tl.reduce((U,H)=>{const I=f[H];return U[H]=(se,W=!1,Z=!1)=>(o||V(),I.schedule(se,W,Z)),U},{}),cancel:U=>{for(let H=0;H<tl.length;H++)f[tl[H]].cancel(U)},state:u,steps:f}}const{schedule:De,cancel:Zn,state:at,steps:rc}=C1(typeof requestAnimationFrame<"u"?requestAnimationFrame:Pt,!0);let ll;function cC(){ll=void 0}const ct={now:()=>(ll===void 0&&ct.set(at.isProcessing||Qn.useManualTiming?at.timestamp:performance.now()),ll),set:a=>{ll=a,queueMicrotask(cC)}},k1=a=>i=>typeof i=="string"&&i.startsWith(a),R1=k1("--"),dC=k1("var(--"),ld=a=>dC(a)?fC.test(a.split("/*")[0].trim()):!1,fC=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function sm(a){return typeof a!="string"?!1:a.split("/*")[0].includes("var(--")}const ya={test:a=>typeof a=="number",parse:parseFloat,transform:a=>a},Cs={...ya,transform:a=>nn(0,1,a)},nl={...ya,default:1},Ts=a=>Math.round(a*1e5)/1e5,rd=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function hC(a){return a==null}const pC=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ud=(a,i)=>o=>!!(typeof o=="string"&&pC.test(o)&&o.startsWith(a)||i&&!hC(o)&&Object.prototype.hasOwnProperty.call(o,i)),M1=(a,i,o)=>l=>{if(typeof l!="string")return l;const[u,d,f,h]=l.match(rd);return{[a]:parseFloat(u),[i]:parseFloat(d),[o]:parseFloat(f),alpha:h!==void 0?parseFloat(h):1}},_C=a=>nn(0,255,a),uc={...ya,transform:a=>Math.round(_C(a))},bi={test:ud("rgb","red"),parse:M1("red","green","blue"),transform:({red:a,green:i,blue:o,alpha:l=1})=>"rgba("+uc.transform(a)+", "+uc.transform(i)+", "+uc.transform(o)+", "+Ts(Cs.transform(l))+")"};function mC(a){let i="",o="",l="",u="";return a.length>5?(i=a.substring(1,3),o=a.substring(3,5),l=a.substring(5,7),u=a.substring(7,9)):(i=a.substring(1,2),o=a.substring(2,3),l=a.substring(3,4),u=a.substring(4,5),i+=i,o+=o,l+=l,u+=u),{red:parseInt(i,16),green:parseInt(o,16),blue:parseInt(l,16),alpha:u?parseInt(u,16)/255:1}}const Cc={test:ud("#"),parse:mC,transform:bi.transform},Ls=a=>({test:i=>typeof i=="string"&&i.endsWith(a)&&i.split(" ").length===1,parse:parseFloat,transform:i=>`${i}${a}`}),Xn=Ls("deg"),tn=Ls("%"),Q=Ls("px"),gC=Ls("vh"),yC=Ls("vw"),om={...tn,parse:a=>tn.parse(a)/100,transform:a=>tn.transform(a*100)},fa={test:ud("hsl","hue"),parse:M1("hue","saturation","lightness"),transform:({hue:a,saturation:i,lightness:o,alpha:l=1})=>"hsla("+Math.round(a)+", "+tn.transform(Ts(i))+", "+tn.transform(Ts(o))+", "+Ts(Cs.transform(l))+")"},Xe={test:a=>bi.test(a)||Cc.test(a)||fa.test(a),parse:a=>bi.test(a)?bi.parse(a):fa.test(a)?fa.parse(a):Cc.parse(a),transform:a=>typeof a=="string"?a:a.hasOwnProperty("red")?bi.transform(a):fa.transform(a),getAnimatableNone:a=>{const i=Xe.parse(a);return i.alpha=0,Xe.transform(i)}},vC=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function bC(a){return isNaN(a)&&typeof a=="string"&&(a.match(rd)?.length||0)+(a.match(vC)?.length||0)>0}const D1="number",L1="color",SC="var",TC="var(",lm="${}",AC=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function ma(a){const i=a.toString(),o=[],l={color:[],number:[],var:[]},u=[];let d=0;const h=i.replace(AC,m=>(Xe.test(m)?(l.color.push(d),u.push(L1),o.push(Xe.parse(m))):m.startsWith(TC)?(l.var.push(d),u.push(SC),o.push(m)):(l.number.push(d),u.push(D1),o.push(parseFloat(m))),++d,lm)).split(lm);return{values:o,split:h,indexes:l,types:u}}function xC(a){return ma(a).values}function z1({split:a,types:i}){const o=a.length;return l=>{let u="";for(let d=0;d<o;d++)if(u+=a[d],l[d]!==void 0){const f=i[d];f===D1?u+=Ts(l[d]):f===L1?u+=Xe.transform(l[d]):u+=l[d]}return u}}function wC(a){return z1(ma(a))}const EC=a=>typeof a=="number"?0:Xe.test(a)?Xe.getAnimatableNone(a):a,OC=(a,i)=>typeof a=="number"?i?.trim().endsWith("/")?a:0:EC(a);function CC(a){const i=ma(a);return z1(i)(i.values.map((l,u)=>OC(l,i.split[u])))}const $t={test:bC,parse:xC,createTransformer:wC,getAnimatableNone:CC};function cc(a,i,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?a+(i-a)*6*o:o<1/2?i:o<2/3?a+(i-a)*(2/3-o)*6:a}function kC({hue:a,saturation:i,lightness:o,alpha:l}){a/=360,i/=100,o/=100;let u=0,d=0,f=0;if(!i)u=d=f=o;else{const h=o<.5?o*(1+i):o+i-o*i,m=2*o-h;u=cc(m,h,a+1/3),d=cc(m,h,a),f=cc(m,h,a-1/3)}return{red:Math.round(u*255),green:Math.round(d*255),blue:Math.round(f*255),alpha:l}}function bl(a,i){return o=>o>0?i:a}const Ne=(a,i,o)=>a+(i-a)*o,dc=(a,i,o)=>{const l=a*a,u=o*(i*i-l)+l;return u<0?0:Math.sqrt(u)},RC=[Cc,bi,fa],MC=a=>RC.find(i=>i.test(a));function rm(a){const i=MC(a);if(!i)return!1;let o=i.parse(a);return i===fa&&(o=kC(o)),o}const um=(a,i)=>{const o=rm(a),l=rm(i);if(!o||!l)return bl(a,i);const u={...o};return d=>(u.red=dc(o.red,l.red,d),u.green=dc(o.green,l.green,d),u.blue=dc(o.blue,l.blue,d),u.alpha=Ne(o.alpha,l.alpha,d),bi.transform(u))},kc=new Set(["none","hidden"]);function DC(a,i){return kc.has(a)?o=>o<=0?a:i:o=>o>=1?i:a}function LC(a,i){return o=>Ne(a,i,o)}function cd(a){return typeof a=="number"?LC:typeof a=="string"?ld(a)?bl:Xe.test(a)?um:jC:Array.isArray(a)?N1:typeof a=="object"?Xe.test(a)?um:zC:bl}function N1(a,i){const o=[...a],l=o.length,u=a.map((d,f)=>cd(d)(d,i[f]));return d=>{for(let f=0;f<l;f++)o[f]=u[f](d);return o}}function zC(a,i){const o={...a,...i},l={};for(const u in o)a[u]!==void 0&&i[u]!==void 0&&(l[u]=cd(a[u])(a[u],i[u]));return u=>{for(const d in l)o[d]=l[d](u);return o}}function NC(a,i){const o=[],l={color:0,var:0,number:0};for(let u=0;u<i.values.length;u++){const d=i.types[u],f=a.indexes[d][l[d]],h=a.values[f]??0;o[u]=h,l[d]++}return o}const jC=(a,i)=>{const o=$t.createTransformer(i),l=ma(a),u=ma(i);return l.indexes.var.length===u.indexes.var.length&&l.indexes.color.length===u.indexes.color.length&&l.indexes.number.length>=u.indexes.number.length?kc.has(a)&&!u.values.length||kc.has(i)&&!l.values.length?DC(a,i):Ms(N1(NC(l,u),u.values),o):bl(a,i)};function j1(a,i,o){return typeof a=="number"&&typeof i=="number"&&typeof o=="number"?Ne(a,i,o):cd(a)(a,i)}const VC=a=>{const i=({timestamp:o})=>a(o);return{start:(o=!0)=>De.update(i,o),stop:()=>Zn(i),now:()=>at.isProcessing?at.timestamp:ct.now()}},V1=(a,i,o=10)=>{let l="";const u=Math.max(Math.round(i/o),2);for(let d=0;d<u;d++)l+=Math.round(a(d/(u-1))*1e4)/1e4+", ";return`linear(${l.substring(0,l.length-2)})`},Sl=2e4;function dd(a){let i=0;const o=50;let l=a.next(i);for(;!l.done&&i<Sl;)i+=o,l=a.next(i);return i>=Sl?1/0:i}function BC(a,i=100,o){const l=o({...a,keyframes:[0,i]}),u=Math.min(dd(l),Sl);return{type:"keyframes",ease:d=>l.next(u*d).value/i,duration:Ht(u)}}const He={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Rc(a,i){return a*Math.sqrt(1-i*i)}const UC=12;function HC(a,i,o){let l=o;for(let u=1;u<UC;u++)l=l-a(l)/i(l);return l}const fc=.001;function PC({duration:a=He.duration,bounce:i=He.bounce,velocity:o=He.velocity,mass:l=He.mass}){let u,d,f=1-i;f=nn(He.minDamping,He.maxDamping,f),a=nn(He.minDuration,He.maxDuration,Ht(a)),f<1?(u=_=>{const g=_*f,v=g*a,b=g-o,x=Rc(_,f),w=Math.exp(-v);return fc-b/x*w},d=_=>{const v=_*f*a,b=v*o+o,x=Math.pow(f,2)*Math.pow(_,2)*a,w=Math.exp(-v),L=Rc(Math.pow(_,2),f);return(-u(_)+fc>0?-1:1)*((b-x)*w)/L}):(u=_=>{const g=Math.exp(-_*a),v=(_-o)*a+1;return-fc+g*v},d=_=>{const g=Math.exp(-_*a),v=(o-_)*(a*a);return g*v});const h=5/a,m=HC(u,d,h);if(a=kt(a),isNaN(m))return{stiffness:He.stiffness,damping:He.damping,duration:a};{const _=Math.pow(m,2)*l;return{stiffness:_,damping:f*2*Math.sqrt(l*_),duration:a}}}const KC=["duration","bounce"],qC=["stiffness","damping","mass"];function cm(a,i){return i.some(o=>a[o]!==void 0)}function YC(a){let i={velocity:He.velocity,stiffness:He.stiffness,damping:He.damping,mass:He.mass,isResolvedFromDuration:!1,...a};if(!cm(a,qC)&&cm(a,KC))if(i.velocity=0,a.visualDuration){const o=a.visualDuration,l=2*Math.PI/(o*1.2),u=l*l,d=2*nn(.05,1,1-(a.bounce||0))*Math.sqrt(u);i={...i,mass:He.mass,stiffness:u,damping:d}}else{const o=PC({...a,velocity:0});i={...i,...o,mass:He.mass},i.isResolvedFromDuration=!0}return i}function Tl(a=He.visualDuration,i=He.bounce){const o=typeof a!="object"?{visualDuration:a,keyframes:[0,1],bounce:i}:a;let{restSpeed:l,restDelta:u}=o;const d=o.keyframes[0],f=o.keyframes[o.keyframes.length-1],h={done:!1,value:d},{stiffness:m,damping:_,mass:g,duration:v,velocity:b,isResolvedFromDuration:x}=YC({...o,velocity:-Ht(o.velocity||0)}),w=b||0,L=_/(2*Math.sqrt(m*g)),V=f-d,B=Ht(Math.sqrt(m/g)),P=Math.abs(V)<5;l||(l=P?He.restSpeed.granular:He.restSpeed.default),u||(u=P?He.restDelta.granular:He.restDelta.default);let U,H,I,se,W,Z;if(L<1)I=Rc(B,L),se=(w+L*B*V)/I,U=$=>{const de=Math.exp(-L*B*$);return f-de*(se*Math.sin(I*$)+V*Math.cos(I*$))},W=L*B*se+V*I,Z=L*B*V-se*I,H=$=>Math.exp(-L*B*$)*(W*Math.sin(I*$)+Z*Math.cos(I*$));else if(L===1){U=de=>f-Math.exp(-B*de)*(V+(w+B*V)*de);const $=w+B*V;H=de=>Math.exp(-B*de)*(B*$*de-w)}else{const $=B*Math.sqrt(L*L-1);U=be=>{const je=Math.exp(-L*B*be),R=Math.min($*be,300);return f-je*((w+L*B*V)*Math.sinh(R)+$*V*Math.cosh(R))/$};const de=(w+L*B*V)/$,ye=L*B*de-V*$,ve=L*B*V-de*$;H=be=>{const je=Math.exp(-L*B*be),R=Math.min($*be,300);return je*(ye*Math.sinh(R)+ve*Math.cosh(R))}}const ee={calculatedDuration:x&&v||null,velocity:$=>kt(H($)),next:$=>{if(!x&&L<1){const ye=Math.exp(-L*B*$),ve=Math.sin(I*$),be=Math.cos(I*$),je=f-ye*(se*ve+V*be),R=kt(ye*(W*ve+Z*be));return h.done=Math.abs(R)<=l&&Math.abs(f-je)<=u,h.value=h.done?f:je,h}const de=U($);if(x)h.done=$>=v;else{const ye=kt(H($));h.done=Math.abs(ye)<=l&&Math.abs(f-de)<=u}return h.value=h.done?f:de,h},toString:()=>{const $=Math.min(dd(ee),Sl),de=V1(ye=>ee.next($*ye).value,$,30);return $+"ms "+de},toTransition:()=>{}};return ee}Tl.applyToOptions=a=>{const i=BC(a,100,Tl);return a.ease=i.ease,a.duration=kt(i.duration),a.type="keyframes",a};const GC=5;function B1(a,i,o){const l=Math.max(i-GC,0);return g1(o-a(l),i-l)}function Mc({keyframes:a,velocity:i=0,power:o=.8,timeConstant:l=325,bounceDamping:u=10,bounceStiffness:d=500,modifyTarget:f,min:h,max:m,restDelta:_=.5,restSpeed:g}){const v=a[0],b={done:!1,value:v},x=Z=>h!==void 0&&Z<h||m!==void 0&&Z>m,w=Z=>h===void 0?m:m===void 0||Math.abs(h-Z)<Math.abs(m-Z)?h:m;let L=o*i;const V=v+L,B=f===void 0?V:f(V);B!==V&&(L=B-v);const P=Z=>-L*Math.exp(-Z/l),U=Z=>B+P(Z),H=Z=>{const ee=P(Z),$=U(Z);b.done=Math.abs(ee)<=_,b.value=b.done?B:$};let I,se;const W=Z=>{x(b.value)&&(I=Z,se=Tl({keyframes:[b.value,w(b.value)],velocity:B1(U,Z,b.value),damping:u,stiffness:d,restDelta:_,restSpeed:g}))};return W(0),{calculatedDuration:null,next:Z=>{let ee=!1;return!se&&I===void 0&&(ee=!0,H(Z),W(Z)),I!==void 0&&Z>=I?se.next(Z-I):(!ee&&H(Z),b)}}}function IC(a,i,o){const l=[],u=o||Qn.mix||j1,d=a.length-1;for(let f=0;f<d;f++){let h=u(a[f],a[f+1]);if(i){const m=Array.isArray(i)?i[f]||Pt:i;h=Ms(m,h)}l.push(h)}return l}function $C(a,i,{clamp:o=!0,ease:l,mixer:u}={}){const d=a.length;if(id(d===i.length),d===1)return()=>i[0];if(d===2&&i[0]===i[1])return()=>i[1];const f=a[0]===a[1];a[0]>a[d-1]&&(a=[...a].reverse(),i=[...i].reverse());const h=IC(i,l,u),m=h.length,_=g=>{if(f&&g<a[0])return i[0];let v=0;if(m>1)for(;v<a.length-2&&!(g<a[v+1]);v++);const b=Os(a[v],a[v+1],g);return h[v](b)};return o?g=>_(nn(a[0],a[d-1],g)):_}function XC(a,i){const o=a[a.length-1];for(let l=1;l<=i;l++){const u=Os(0,i,l);a.push(Ne(o,1,u))}}function FC(a){const i=[0];return XC(i,a.length-1),i}function QC(a,i){return a.map(o=>o*i)}function ZC(a,i){return a.map(()=>i||E1).splice(0,a.length-1)}function As({duration:a=300,keyframes:i,times:o,ease:l="easeInOut"}){const u=sC(l)?l.map(am):am(l),d={done:!1,value:i[0]},f=QC(o&&o.length===i.length?o:FC(i),a),h=$C(f,i,{ease:Array.isArray(u)?u:ZC(i,u)});return{calculatedDuration:a,next:m=>(d.value=h(m),d.done=m>=a,d)}}const WC=a=>a!==null;function Rl(a,{repeat:i,repeatType:o="loop"},l,u=1){const d=a.filter(WC),h=u<0||i&&o!=="loop"&&i%2===1?0:d.length-1;return!h||l===void 0?d[h]:l}const JC={decay:Mc,inertia:Mc,tween:As,keyframes:As,spring:Tl};function U1(a){typeof a.type=="string"&&(a.type=JC[a.type])}class fd{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(i=>{this.resolve=i})}notifyFinished(){this.resolve()}then(i,o){return this.finished.then(i,o)}}const e2=a=>a/100;class Al extends fd{constructor(i){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{const{motionValue:o}=this.options;o&&o.updatedAt!==ct.now()&&this.tick(ct.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=i,this.initAnimation(),this.play(),i.autoplay===!1&&this.pause()}initAnimation(){const{options:i}=this;U1(i);const{type:o=As,repeat:l=0,repeatDelay:u=0,repeatType:d,velocity:f=0}=i;let{keyframes:h}=i;const m=o||As;m!==As&&typeof h[0]!="number"&&(this.mixKeyframes=Ms(e2,j1(h[0],h[1])),h=[0,100]);const _=m({...i,keyframes:h});d==="mirror"&&(this.mirroredGenerator=m({...i,keyframes:[...h].reverse(),velocity:-f})),_.calculatedDuration===null&&(_.calculatedDuration=dd(_));const{calculatedDuration:g}=_;this.calculatedDuration=g,this.resolvedDuration=g+u,this.totalDuration=this.resolvedDuration*(l+1)-u,this.generator=_}updateTime(i){const o=Math.round(i-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=o}tick(i,o=!1){const{generator:l,totalDuration:u,mixKeyframes:d,mirroredGenerator:f,resolvedDuration:h,calculatedDuration:m}=this;if(this.startTime===null)return l.next(0);const{delay:_=0,keyframes:g,repeat:v,repeatType:b,repeatDelay:x,type:w,onUpdate:L,finalKeyframe:V}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,i):this.speed<0&&(this.startTime=Math.min(i-u/this.speed,this.startTime)),o?this.currentTime=i:this.updateTime(i);const B=this.currentTime-_*(this.playbackSpeed>=0?1:-1),P=this.playbackSpeed>=0?B<0:B>u;this.currentTime=Math.max(B,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=u);let U=this.currentTime,H=l;if(v){const Z=Math.min(this.currentTime,u)/h;let ee=Math.floor(Z),$=Z%1;!$&&Z>=1&&($=1),$===1&&ee--,ee=Math.min(ee,v+1),ee%2&&(b==="reverse"?($=1-$,x&&($-=x/h)):b==="mirror"&&(H=f)),U=nn(0,1,$)*h}let I;P?(this.delayState.value=g[0],I=this.delayState):I=H.next(U),d&&!P&&(I.value=d(I.value));let{done:se}=I;!P&&m!==null&&(se=this.playbackSpeed>=0?this.currentTime>=u:this.currentTime<=0);const W=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&se);return W&&w!==Mc&&(I.value=Rl(g,this.options,V,this.speed)),L&&L(I.value),W&&this.finish(),I}then(i,o){return this.finished.then(i,o)}get duration(){return Ht(this.calculatedDuration)}get iterationDuration(){const{delay:i=0}=this.options||{};return this.duration+Ht(i)}get time(){return Ht(this.currentTime)}set time(i){i=kt(i),this.currentTime=i,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=i:this.driver&&(this.startTime=this.driver.now()-i/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=i,this.tick(i))}getGeneratorVelocity(){const i=this.currentTime;if(i<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(i);const o=this.generator.next(i).value;return B1(l=>this.generator.next(l).value,i,o)}get speed(){return this.playbackSpeed}set speed(i){const o=this.playbackSpeed!==i;o&&this.driver&&this.updateTime(ct.now()),this.playbackSpeed=i,o&&this.driver&&(this.time=Ht(this.currentTime))}play(){if(this.isStopped)return;const{driver:i=VC,startTime:o}=this.options;this.driver||(this.driver=i(u=>this.tick(u))),this.options.onPlay?.();const l=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=l):this.holdTime!==null?this.startTime=l-this.holdTime:this.startTime||(this.startTime=o??l),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(ct.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(i){return this.startTime=0,this.tick(i,!0)}attachTimeline(i){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),i.observe(this)}}function t2(a){for(let i=1;i<a.length;i++)a[i]??(a[i]=a[i-1])}const Si=a=>a*180/Math.PI,Dc=a=>{const i=Si(Math.atan2(a[1],a[0]));return Lc(i)},n2={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:Dc,rotateZ:Dc,skewX:a=>Si(Math.atan(a[1])),skewY:a=>Si(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},Lc=a=>(a=a%360,a<0&&(a+=360),a),dm=Dc,fm=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),hm=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),i2={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:fm,scaleY:hm,scale:a=>(fm(a)+hm(a))/2,rotateX:a=>Lc(Si(Math.atan2(a[6],a[5]))),rotateY:a=>Lc(Si(Math.atan2(-a[2],a[0]))),rotateZ:dm,rotate:dm,skewX:a=>Si(Math.atan(a[4])),skewY:a=>Si(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function zc(a){return a.includes("scale")?1:0}function Nc(a,i){if(!a||a==="none")return zc(i);const o=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let l,u;if(o)l=i2,u=o;else{const h=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);l=n2,u=h}if(!u)return zc(i);const d=l[i],f=u[1].split(",").map(s2);return typeof d=="function"?d(f):f[d]}const a2=(a,i)=>{const{transform:o="none"}=getComputedStyle(a);return Nc(o,i)};function s2(a){return parseFloat(a.trim())}const va=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ba=new Set(va),pm=a=>a===ya||a===Q,o2=new Set(["x","y","z"]),l2=va.filter(a=>!o2.has(a));function r2(a){const i=[];return l2.forEach(o=>{const l=a.getValue(o);l!==void 0&&(i.push([o,l.get()]),l.set(o.startsWith("scale")?1:0))}),i}const Fn={width:({x:a},{paddingLeft:i="0",paddingRight:o="0",boxSizing:l})=>{const u=a.max-a.min;return l==="border-box"?u:u-parseFloat(i)-parseFloat(o)},height:({y:a},{paddingTop:i="0",paddingBottom:o="0",boxSizing:l})=>{const u=a.max-a.min;return l==="border-box"?u:u-parseFloat(i)-parseFloat(o)},top:(a,{top:i})=>parseFloat(i),left:(a,{left:i})=>parseFloat(i),bottom:({y:a},{top:i})=>parseFloat(i)+(a.max-a.min),right:({x:a},{left:i})=>parseFloat(i)+(a.max-a.min),x:(a,{transform:i})=>Nc(i,"x"),y:(a,{transform:i})=>Nc(i,"y")};Fn.translateX=Fn.x;Fn.translateY=Fn.y;const Ai=new Set;let jc=!1,Vc=!1,Bc=!1;function H1(){if(Vc){const a=Array.from(Ai).filter(l=>l.needsMeasurement),i=new Set(a.map(l=>l.element)),o=new Map;i.forEach(l=>{const u=r2(l);u.length&&(o.set(l,u),l.render())}),a.forEach(l=>l.measureInitialState()),i.forEach(l=>{l.render();const u=o.get(l);u&&u.forEach(([d,f])=>{l.getValue(d)?.set(f)})}),a.forEach(l=>l.measureEndState()),a.forEach(l=>{l.suspendedScrollY!==void 0&&window.scrollTo(0,l.suspendedScrollY)})}Vc=!1,jc=!1,Ai.forEach(a=>a.complete(Bc)),Ai.clear()}function P1(){Ai.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(Vc=!0)})}function u2(){Bc=!0,P1(),H1(),Bc=!1}class hd{constructor(i,o,l,u,d,f=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...i],this.onComplete=o,this.name=l,this.motionValue=u,this.element=d,this.isAsync=f}scheduleResolve(){this.state="scheduled",this.isAsync?(Ai.add(this),jc||(jc=!0,De.read(P1),De.resolveKeyframes(H1))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:i,name:o,element:l,motionValue:u}=this;if(i[0]===null){const d=u?.get(),f=i[i.length-1];if(d!==void 0)i[0]=d;else if(l&&o){const h=l.readValue(o,f);h!=null&&(i[0]=h)}i[0]===void 0&&(i[0]=f),u&&d===void 0&&u.set(i[0])}t2(i)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(i=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,i),Ai.delete(this)}cancel(){this.state==="scheduled"&&(Ai.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const c2=a=>a.startsWith("--");function K1(a,i,o){c2(i)?a.style.setProperty(i,o):a.style[i]=o}const d2={};function pd(a,i){const o=m1(a);return()=>d2[i]??o()}const f2=pd(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),pD=pd(()=>window.ViewTimeline!==void 0,"viewTimeline"),q1=pd(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),vs=([a,i,o,l])=>`cubic-bezier(${a}, ${i}, ${o}, ${l})`,_m={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:vs([0,.65,.55,1]),circOut:vs([.55,0,1,.45]),backIn:vs([.31,.01,.66,-.59]),backOut:vs([.33,1.53,.69,.99])};function Y1(a,i){if(a)return typeof a=="function"?q1()?V1(a,i):"ease-out":O1(a)?vs(a):Array.isArray(a)?a.map(o=>Y1(o,i)||_m.easeOut):_m[a]}function h2(a,i,o,{delay:l=0,duration:u=300,repeat:d=0,repeatType:f="loop",ease:h="easeOut",times:m}={},_=void 0){const g={[i]:o};m&&(g.offset=m);const v=Y1(h,u);Array.isArray(v)&&(g.easing=v);const b={delay:l,duration:u,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:d+1,direction:f==="reverse"?"alternate":"normal"};return _&&(b.pseudoElement=_),a.animate(g,b)}function G1(a){return typeof a=="function"&&"applyToOptions"in a}function p2({type:a,...i}){return G1(a)&&q1()?a.applyToOptions(i):(i.duration??(i.duration=300),i.ease??(i.ease="easeOut"),i)}class I1 extends fd{constructor(i){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!i)return;const{element:o,name:l,keyframes:u,pseudoElement:d,allowFlatten:f=!1,finalKeyframe:h,onComplete:m}=i;this.isPseudoElement=!!d,this.allowFlatten=f,this.options=i,id(typeof i.type!="string");const _=p2(i);this.animation=h2(o,l,u,_,d),_.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!d){const g=Rl(u,this.options,h,this.speed);this.updateMotionValue&&this.updateMotionValue(g),K1(o,l,g),this.animation.cancel()}m?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:i}=this;i==="idle"||i==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const i=this.options?.element;!this.isPseudoElement&&i?.isConnected&&this.animation.commitStyles?.()}get duration(){const i=this.animation.effect?.getComputedTiming?.().duration||0;return Ht(Number(i))}get iterationDuration(){const{delay:i=0}=this.options||{};return this.duration+Ht(i)}get time(){return Ht(Number(this.animation.currentTime)||0)}set time(i){const o=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=kt(i),o&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(i){i<0&&(this.finishedTime=null),this.animation.playbackRate=i}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(i){this.manualStartTime=this.animation.startTime=i}attachTimeline({timeline:i,rangeStart:o,rangeEnd:l,observe:u}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,i&&f2()?(this.animation.timeline=i,o&&(this.animation.rangeStart=o),l&&(this.animation.rangeEnd=l),Pt):u(this)}}const $1={anticipate:A1,backInOut:T1,circInOut:w1};function _2(a){return a in $1}function m2(a){typeof a.ease=="string"&&_2(a.ease)&&(a.ease=$1[a.ease])}const hc=10;class g2 extends I1{constructor(i){m2(i),U1(i),super(i),i.startTime!==void 0&&i.autoplay!==!1&&(this.startTime=i.startTime),this.options=i}updateMotionValue(i){const{motionValue:o,onUpdate:l,onComplete:u,element:d,...f}=this.options;if(!o)return;if(i!==void 0){o.set(i);return}const h=new Al({...f,autoplay:!1}),m=Math.max(hc,ct.now()-this.startTime),_=nn(0,hc,m-hc),g=h.sample(m).value,{name:v}=this.options;d&&v&&K1(d,v,g),o.setWithVelocity(h.sample(Math.max(0,m-_)).value,g,_),h.stop()}}const mm=(a,i)=>i==="zIndex"?!1:!!(typeof a=="number"||Array.isArray(a)||typeof a=="string"&&($t.test(a)||a==="0")&&!a.startsWith("url("));function y2(a){const i=a[0];if(a.length===1)return!0;for(let o=0;o<a.length;o++)if(a[o]!==i)return!0}function v2(a,i,o,l){const u=a[0];if(u===null)return!1;if(i==="display"||i==="visibility")return!0;const d=a[a.length-1],f=mm(u,i),h=mm(d,i);return!f||!h?!1:y2(a)||(o==="spring"||G1(o))&&l}function Uc(a){a.duration=0,a.type="keyframes"}const X1=new Set(["opacity","clipPath","filter","transform"]),b2=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function S2(a){for(let i=0;i<a.length;i++)if(typeof a[i]=="string"&&b2.test(a[i]))return!0;return!1}const T2=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),A2=m1(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function x2(a){const{motionValue:i,name:o,repeatDelay:l,repeatType:u,damping:d,type:f,keyframes:h}=a;if(!(i?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:_,transformTemplate:g}=i.owner.getProps();return A2()&&o&&(X1.has(o)||T2.has(o)&&S2(h))&&(o!=="transform"||!g)&&!_&&!l&&u!=="mirror"&&d!==0&&f!=="inertia"}const w2=40;class E2 extends fd{constructor({autoplay:i=!0,delay:o=0,type:l="keyframes",repeat:u=0,repeatDelay:d=0,repeatType:f="loop",keyframes:h,name:m,motionValue:_,element:g,...v}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ct.now();const b={autoplay:i,delay:o,type:l,repeat:u,repeatDelay:d,repeatType:f,name:m,motionValue:_,element:g,...v},x=g?.KeyframeResolver||hd;this.keyframeResolver=new x(h,(w,L,V)=>this.onKeyframesResolved(w,L,b,!V),m,_,g),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(i,o,l,u){this.keyframeResolver=void 0;const{name:d,type:f,velocity:h,delay:m,isHandoff:_,onUpdate:g}=l;this.resolvedAt=ct.now();let v=!0;v2(i,d,f,h)||(v=!1,(Qn.instantAnimations||!m)&&g?.(Rl(i,l,o)),i[0]=i[i.length-1],Uc(l),l.repeat=0);const x={startTime:u?this.resolvedAt?this.resolvedAt-this.createdAt>w2?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:o,...l,keyframes:i},w=v&&!_&&x2(x),L=x.motionValue?.owner?.current;let V;if(w)try{V=new g2({...x,element:L})}catch{V=new Al(x)}else V=new Al(x);V.finished.then(()=>{this.notifyFinished()}).catch(Pt),this.pendingTimeline&&(this.stopTimeline=V.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=V}get finished(){return this._animation?this.animation.finished:this._finished}then(i,o){return this.finished.finally(i).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),u2()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(i){this.animation.time=i}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(i){this.animation.speed=i}get startTime(){return this.animation.startTime}attachTimeline(i){return this._animation?this.stopTimeline=this.animation.attachTimeline(i):this.pendingTimeline=i,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function F1(a,i,o,l=0,u=1){const d=Array.from(a).sort((_,g)=>_.sortNodePosition(g)).indexOf(i),f=a.size,h=(f-1)*l;return typeof o=="function"?o(d,f):u===1?d*l:h-d*l}const O2=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function C2(a){const i=O2.exec(a);if(!i)return[,];const[,o,l,u]=i;return[`--${o??l}`,u]}function Q1(a,i,o=1){const[l,u]=C2(a);if(!l)return;const d=window.getComputedStyle(i).getPropertyValue(l);if(d){const f=d.trim();return h1(f)?parseFloat(f):f}return ld(u)?Q1(u,i,o+1):u}const k2={type:"spring",stiffness:500,damping:25,restSpeed:10},R2=a=>({type:"spring",stiffness:550,damping:a===0?2*Math.sqrt(550):30,restSpeed:10}),M2={type:"keyframes",duration:.8},D2={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},L2=(a,{keyframes:i})=>i.length>2?M2:ba.has(a)?a.startsWith("scale")?R2(i[1]):k2:D2;function Z1(a,i){if(a?.inherit&&i){const{inherit:o,...l}=a;return{...i,...l}}return a}function _d(a,i){const o=a?.[i]??a?.default??a;return o!==a?Z1(o,a):o}const z2=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function N2(a){for(const i in a)if(!z2.has(i))return!0;return!1}const md=(a,i,o,l={},u,d)=>f=>{const h=_d(l,a)||{},m=h.delay||l.delay||0;let{elapsed:_=0}=l;_=_-kt(m);const g={keyframes:Array.isArray(o)?o:[null,o],ease:"easeOut",velocity:i.getVelocity(),...h,delay:-_,onUpdate:b=>{i.set(b),h.onUpdate&&h.onUpdate(b)},onComplete:()=>{f(),h.onComplete&&h.onComplete()},name:a,motionValue:i,element:d?void 0:u};N2(h)||Object.assign(g,L2(a,g)),g.duration&&(g.duration=kt(g.duration)),g.repeatDelay&&(g.repeatDelay=kt(g.repeatDelay)),g.from!==void 0&&(g.keyframes[0]=g.from);let v=!1;if((g.type===!1||g.duration===0&&!g.repeatDelay)&&(Uc(g),g.delay===0&&(v=!0)),(Qn.instantAnimations||Qn.skipAnimations||u?.shouldSkipAnimations)&&(v=!0,Uc(g),g.delay=0),g.allowFlatten=!h.type&&!h.ease,v&&!d&&i.get()!==void 0){const b=Rl(g.keyframes,h);if(b!==void 0){De.update(()=>{g.onUpdate(b),g.onComplete()});return}}return h.isSync?new Al(g):new E2(g)};function gm(a){const i=[{},{}];return a?.values.forEach((o,l)=>{i[0][l]=o.get(),i[1][l]=o.getVelocity()}),i}function gd(a,i,o,l){if(typeof i=="function"){const[u,d]=gm(l);i=i(o!==void 0?o:a.custom,u,d)}if(typeof i=="string"&&(i=a.variants&&a.variants[i]),typeof i=="function"){const[u,d]=gm(l);i=i(o!==void 0?o:a.custom,u,d)}return i}function xi(a,i,o){const l=a.getProps();return gd(l,i,o!==void 0?o:l.custom,a)}const W1=new Set(["width","height","top","left","right","bottom",...va]),ym=30,j2=a=>!isNaN(parseFloat(a));class V2{constructor(i,o={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=l=>{const u=ct.now();if(this.updatedAt!==u&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(l),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const d of this.dependents)d.dirty()},this.hasAnimated=!1,this.setCurrent(i),this.owner=o.owner}setCurrent(i){this.current=i,this.updatedAt=ct.now(),this.canTrackVelocity===null&&i!==void 0&&(this.canTrackVelocity=j2(this.current))}setPrevFrameValue(i=this.current){this.prevFrameValue=i,this.prevUpdatedAt=this.updatedAt}onChange(i){return this.on("change",i)}on(i,o){this.events[i]||(this.events[i]=new ad);const l=this.events[i].add(o);return i==="change"?()=>{l(),De.read(()=>{this.events.change.getSize()||this.stop()})}:l}clearListeners(){for(const i in this.events)this.events[i].clear()}attach(i,o){this.passiveEffect=i,this.stopPassiveEffect=o}set(i){this.passiveEffect?this.passiveEffect(i,this.updateAndNotify):this.updateAndNotify(i)}setWithVelocity(i,o,l){this.set(o),this.prev=void 0,this.prevFrameValue=i,this.prevUpdatedAt=this.updatedAt-l}jump(i,o=!0){this.updateAndNotify(i),this.prev=i,this.prevUpdatedAt=this.prevFrameValue=void 0,o&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(i){this.dependents||(this.dependents=new Set),this.dependents.add(i)}removeDependent(i){this.dependents&&this.dependents.delete(i)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const i=ct.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||i-this.updatedAt>ym)return 0;const o=Math.min(this.updatedAt-this.prevUpdatedAt,ym);return g1(parseFloat(this.current)-parseFloat(this.prevFrameValue),o)}start(i){return this.stop(),new Promise(o=>{this.hasAnimated=!0,this.animation=i(o),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ga(a,i){return new V2(a,i)}const Hc=a=>Array.isArray(a);function B2(a,i,o){a.hasValue(i)?a.getValue(i).set(o):a.addValue(i,ga(o))}function U2(a){return Hc(a)?a[a.length-1]||0:a}function H2(a,i){const o=xi(a,i);let{transitionEnd:l={},transition:u={},...d}=o||{};d={...d,...l};for(const f in d){const h=U2(d[f]);B2(a,f,h)}}const ot=a=>!!(a&&a.getVelocity);function P2(a){return!!(ot(a)&&a.add)}function Pc(a,i){const o=a.getValue("willChange");if(P2(o))return o.add(i);if(!o&&Qn.WillChange){const l=new Qn.WillChange("auto");a.addValue("willChange",l),l.add(i)}}function yd(a){return a.replace(/([A-Z])/g,i=>`-${i.toLowerCase()}`)}const K2="framerAppearId",J1="data-"+yd(K2);function eT(a){return a.props[J1]}function q2({protectedKeys:a,needsAnimating:i},o){const l=a.hasOwnProperty(o)&&i[o]!==!0;return i[o]=!1,l}function tT(a,i,{delay:o=0,transitionOverride:l,type:u}={}){let{transition:d,transitionEnd:f,...h}=i;const m=a.getDefaultTransition();d=d?Z1(d,m):m;const _=d?.reduceMotion;l&&(d=l);const g=[],v=u&&a.animationState&&a.animationState.getState()[u];for(const b in h){const x=a.getValue(b,a.latestValues[b]??null),w=h[b];if(w===void 0||v&&q2(v,b))continue;const L={delay:o,..._d(d||{},b)},V=x.get();if(V!==void 0&&!x.isAnimating()&&!Array.isArray(w)&&w===V&&!L.velocity){De.update(()=>x.set(w));continue}let B=!1;if(window.MotionHandoffAnimation){const H=eT(a);if(H){const I=window.MotionHandoffAnimation(H,b,De);I!==null&&(L.startTime=I,B=!0)}}Pc(a,b);const P=_??a.shouldReduceMotion;x.start(md(b,x,w,P&&W1.has(b)?{type:!1}:L,a,B));const U=x.animation;U&&g.push(U)}if(f){const b=()=>De.update(()=>{f&&H2(a,f)});g.length?Promise.all(g).then(b):b()}return g}function Kc(a,i,o={}){const l=xi(a,i,o.type==="exit"?a.presenceContext?.custom:void 0);let{transition:u=a.getDefaultTransition()||{}}=l||{};o.transitionOverride&&(u=o.transitionOverride);const d=l?()=>Promise.all(tT(a,l,o)):()=>Promise.resolve(),f=a.variantChildren&&a.variantChildren.size?(m=0)=>{const{delayChildren:_=0,staggerChildren:g,staggerDirection:v}=u;return Y2(a,i,m,_,g,v,o)}:()=>Promise.resolve(),{when:h}=u;if(h){const[m,_]=h==="beforeChildren"?[d,f]:[f,d];return m().then(()=>_())}else return Promise.all([d(),f(o.delay)])}function Y2(a,i,o=0,l=0,u=0,d=1,f){const h=[];for(const m of a.variantChildren)m.notify("AnimationStart",i),h.push(Kc(m,i,{...f,delay:o+(typeof l=="function"?0:l)+F1(a.variantChildren,m,l,u,d)}).then(()=>m.notify("AnimationComplete",i)));return Promise.all(h)}function G2(a,i,o={}){a.notify("AnimationStart",i);let l;if(Array.isArray(i)){const u=i.map(d=>Kc(a,d,o));l=Promise.all(u)}else if(typeof i=="string")l=Kc(a,i,o);else{const u=typeof i=="function"?xi(a,i,o.custom):i;l=Promise.all(tT(a,u,o))}return l.then(()=>{a.notify("AnimationComplete",i)})}const I2={test:a=>a==="auto",parse:a=>a},nT=a=>i=>i.test(a),iT=[ya,Q,tn,Xn,yC,gC,I2],vm=a=>iT.find(nT(a));function $2(a){return typeof a=="number"?a===0:a!==null?a==="none"||a==="0"||_1(a):!0}const X2=new Set(["brightness","contrast","saturate","opacity"]);function F2(a){const[i,o]=a.slice(0,-1).split("(");if(i==="drop-shadow")return a;const[l]=o.match(rd)||[];if(!l)return a;const u=o.replace(l,"");let d=X2.has(i)?1:0;return l!==o&&(d*=100),i+"("+d+u+")"}const Q2=/\b([a-z-]*)\(.*?\)/gu,qc={...$t,getAnimatableNone:a=>{const i=a.match(Q2);return i?i.map(F2).join(" "):a}},Yc={...$t,getAnimatableNone:a=>{const i=$t.parse(a);return $t.createTransformer(a)(i.map(l=>typeof l=="number"?0:typeof l=="object"?{...l,alpha:1}:l))}},bm={...ya,transform:Math.round},Z2={rotate:Xn,rotateX:Xn,rotateY:Xn,rotateZ:Xn,scale:nl,scaleX:nl,scaleY:nl,scaleZ:nl,skew:Xn,skewX:Xn,skewY:Xn,distance:Q,translateX:Q,translateY:Q,translateZ:Q,x:Q,y:Q,z:Q,perspective:Q,transformPerspective:Q,opacity:Cs,originX:om,originY:om,originZ:Q},vd={borderWidth:Q,borderTopWidth:Q,borderRightWidth:Q,borderBottomWidth:Q,borderLeftWidth:Q,borderRadius:Q,borderTopLeftRadius:Q,borderTopRightRadius:Q,borderBottomRightRadius:Q,borderBottomLeftRadius:Q,width:Q,maxWidth:Q,height:Q,maxHeight:Q,top:Q,right:Q,bottom:Q,left:Q,inset:Q,insetBlock:Q,insetBlockStart:Q,insetBlockEnd:Q,insetInline:Q,insetInlineStart:Q,insetInlineEnd:Q,padding:Q,paddingTop:Q,paddingRight:Q,paddingBottom:Q,paddingLeft:Q,paddingBlock:Q,paddingBlockStart:Q,paddingBlockEnd:Q,paddingInline:Q,paddingInlineStart:Q,paddingInlineEnd:Q,margin:Q,marginTop:Q,marginRight:Q,marginBottom:Q,marginLeft:Q,marginBlock:Q,marginBlockStart:Q,marginBlockEnd:Q,marginInline:Q,marginInlineStart:Q,marginInlineEnd:Q,fontSize:Q,backgroundPositionX:Q,backgroundPositionY:Q,...Z2,zIndex:bm,fillOpacity:Cs,strokeOpacity:Cs,numOctaves:bm},W2={...vd,color:Xe,backgroundColor:Xe,outlineColor:Xe,fill:Xe,stroke:Xe,borderColor:Xe,borderTopColor:Xe,borderRightColor:Xe,borderBottomColor:Xe,borderLeftColor:Xe,filter:qc,WebkitFilter:qc,mask:Yc,WebkitMask:Yc},aT=a=>W2[a],J2=new Set([qc,Yc]);function sT(a,i){let o=aT(a);return J2.has(o)||(o=$t),o.getAnimatableNone?o.getAnimatableNone(i):void 0}const ek=new Set(["auto","none","0"]);function tk(a,i,o){let l=0,u;for(;l<a.length&&!u;){const d=a[l];typeof d=="string"&&!ek.has(d)&&ma(d).values.length&&(u=a[l]),l++}if(u&&o)for(const d of i)a[d]=sT(o,u)}class nk extends hd{constructor(i,o,l,u,d){super(i,o,l,u,d,!0)}readKeyframes(){const{unresolvedKeyframes:i,element:o,name:l}=this;if(!o||!o.current)return;super.readKeyframes();for(let g=0;g<i.length;g++){let v=i[g];if(typeof v=="string"&&(v=v.trim(),ld(v))){const b=Q1(v,o.current);b!==void 0&&(i[g]=b),g===i.length-1&&(this.finalKeyframe=v)}}if(this.resolveNoneKeyframes(),!W1.has(l)||i.length!==2)return;const[u,d]=i,f=vm(u),h=vm(d),m=sm(u),_=sm(d);if(m!==_&&Fn[l]){this.needsMeasurement=!0;return}if(f!==h)if(pm(f)&&pm(h))for(let g=0;g<i.length;g++){const v=i[g];typeof v=="string"&&(i[g]=parseFloat(v))}else Fn[l]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:i,name:o}=this,l=[];for(let u=0;u<i.length;u++)(i[u]===null||$2(i[u]))&&l.push(u);l.length&&tk(i,l,o)}measureInitialState(){const{element:i,unresolvedKeyframes:o,name:l}=this;if(!i||!i.current)return;l==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Fn[l](i.measureViewportBox(),window.getComputedStyle(i.current)),o[0]=this.measuredOrigin;const u=o[o.length-1];u!==void 0&&i.getValue(l,u).jump(u,!1)}measureEndState(){const{element:i,name:o,unresolvedKeyframes:l}=this;if(!i||!i.current)return;const u=i.getValue(o);u&&u.jump(this.measuredOrigin,!1);const d=l.length-1,f=l[d];l[d]=Fn[o](i.measureViewportBox(),window.getComputedStyle(i.current)),f!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=f),this.removedTransforms?.length&&this.removedTransforms.forEach(([h,m])=>{i.getValue(h).set(m)}),this.resolveNoneKeyframes()}}function oT(a,i,o){if(a==null)return[];if(a instanceof EventTarget)return[a];if(typeof a=="string"){const u=document.querySelectorAll(a);return u?Array.from(u):[]}return Array.from(a).filter(l=>l!=null)}const lT=(a,i)=>i&&typeof a=="number"?i.transform(a):a;function rl(a){return p1(a)&&"offsetHeight"in a&&!("ownerSVGElement"in a)}const{schedule:bd}=C1(queueMicrotask,!1),It={x:!1,y:!1};function rT(){return It.x||It.y}function ik(a){return a==="x"||a==="y"?It[a]?null:(It[a]=!0,()=>{It[a]=!1}):It.x||It.y?null:(It.x=It.y=!0,()=>{It.x=It.y=!1})}function uT(a,i){const o=oT(a),l=new AbortController,u={passive:!0,...i,signal:l.signal};return[o,u,()=>l.abort()]}function ak(a){return!(a.pointerType==="touch"||rT())}function sk(a,i,o={}){const[l,u,d]=uT(a,o);return l.forEach(f=>{let h=!1,m=!1,_;const g=()=>{f.removeEventListener("pointerleave",w)},v=V=>{_&&(_(V),_=void 0),g()},b=V=>{h=!1,window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",b),m&&(m=!1,v(V))},x=()=>{h=!0,window.addEventListener("pointerup",b,u),window.addEventListener("pointercancel",b,u)},w=V=>{if(V.pointerType!=="touch"){if(h){m=!0;return}v(V)}},L=V=>{if(!ak(V))return;m=!1;const B=i(f,V);typeof B=="function"&&(_=B,f.addEventListener("pointerleave",w,u))};f.addEventListener("pointerenter",L,u),f.addEventListener("pointerdown",x,u)}),d}const cT=(a,i)=>i?a===i?!0:cT(a,i.parentElement):!1,Sd=a=>a.pointerType==="mouse"?typeof a.button!="number"||a.button<=0:a.isPrimary!==!1,ok=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function lk(a){return ok.has(a.tagName)||a.isContentEditable===!0}const rk=new Set(["INPUT","SELECT","TEXTAREA"]);function uk(a){return rk.has(a.tagName)||a.isContentEditable===!0}const ul=new WeakSet;function Sm(a){return i=>{i.key==="Enter"&&a(i)}}function pc(a,i){a.dispatchEvent(new PointerEvent("pointer"+i,{isPrimary:!0,bubbles:!0}))}const ck=(a,i)=>{const o=a.currentTarget;if(!o)return;const l=Sm(()=>{if(ul.has(o))return;pc(o,"down");const u=Sm(()=>{pc(o,"up")}),d=()=>pc(o,"cancel");o.addEventListener("keyup",u,i),o.addEventListener("blur",d,i)});o.addEventListener("keydown",l,i),o.addEventListener("blur",()=>o.removeEventListener("keydown",l),i)};function Tm(a){return Sd(a)&&!rT()}const Am=new WeakSet;function dk(a,i,o={}){const[l,u,d]=uT(a,o),f=h=>{const m=h.currentTarget;if(!Tm(h)||Am.has(h))return;ul.add(m),o.stopPropagation&&Am.add(h);const _=i(m,h),g=(x,w)=>{window.removeEventListener("pointerup",v),window.removeEventListener("pointercancel",b),ul.has(m)&&ul.delete(m),Tm(x)&&typeof _=="function"&&_(x,{success:w})},v=x=>{g(x,m===window||m===document||o.useGlobalTarget||cT(m,x.target))},b=x=>{g(x,!1)};window.addEventListener("pointerup",v,u),window.addEventListener("pointercancel",b,u)};return l.forEach(h=>{(o.useGlobalTarget?window:h).addEventListener("pointerdown",f,u),rl(h)&&(h.addEventListener("focus",_=>ck(_,u)),!lk(h)&&!h.hasAttribute("tabindex")&&(h.tabIndex=0))}),d}function Td(a){return p1(a)&&"ownerSVGElement"in a}const cl=new WeakMap;let dl;const dT=(a,i,o)=>(l,u)=>u&&u[0]?u[0][a+"Size"]:Td(l)&&"getBBox"in l?l.getBBox()[i]:l[o],fk=dT("inline","width","offsetWidth"),hk=dT("block","height","offsetHeight");function pk({target:a,borderBoxSize:i}){cl.get(a)?.forEach(o=>{o(a,{get width(){return fk(a,i)},get height(){return hk(a,i)}})})}function _k(a){a.forEach(pk)}function mk(){typeof ResizeObserver>"u"||(dl=new ResizeObserver(_k))}function gk(a,i){dl||mk();const o=oT(a);return o.forEach(l=>{let u=cl.get(l);u||(u=new Set,cl.set(l,u)),u.add(i),dl?.observe(l)}),()=>{o.forEach(l=>{const u=cl.get(l);u?.delete(i),u?.size||dl?.unobserve(l)})}}const fl=new Set;let ha;function yk(){ha=()=>{const a={get width(){return window.innerWidth},get height(){return window.innerHeight}};fl.forEach(i=>i(a))},window.addEventListener("resize",ha)}function vk(a){return fl.add(a),ha||yk(),()=>{fl.delete(a),!fl.size&&typeof ha=="function"&&(window.removeEventListener("resize",ha),ha=void 0)}}function xm(a,i){return typeof a=="function"?vk(a):gk(a,i)}function bk(a){return Td(a)&&a.tagName==="svg"}const Sk=[...iT,Xe,$t],Tk=a=>Sk.find(nT(a)),wm=()=>({translate:0,scale:1,origin:0,originPoint:0}),pa=()=>({x:wm(),y:wm()}),Em=()=>({min:0,max:0}),Qe=()=>({x:Em(),y:Em()}),Ak=new WeakMap;function Ml(a){return a!==null&&typeof a=="object"&&typeof a.start=="function"}function ks(a){return typeof a=="string"||Array.isArray(a)}const Ad=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],xd=["initial",...Ad];function Dl(a){return Ml(a.animate)||xd.some(i=>ks(a[i]))}function fT(a){return!!(Dl(a)||a.variants)}function xk(a,i,o){for(const l in i){const u=i[l],d=o[l];if(ot(u))a.addValue(l,u);else if(ot(d))a.addValue(l,ga(u,{owner:a}));else if(d!==u)if(a.hasValue(l)){const f=a.getValue(l);f.liveStyle===!0?f.jump(u):f.hasAnimated||f.set(u)}else{const f=a.getStaticValue(l);a.addValue(l,ga(f!==void 0?f:u,{owner:a}))}}for(const l in o)i[l]===void 0&&a.removeValue(l);return i}const Gc={current:null},hT={current:!1},wk=typeof window<"u";function Ek(){if(hT.current=!0,!!wk)if(window.matchMedia){const a=window.matchMedia("(prefers-reduced-motion)"),i=()=>Gc.current=a.matches;a.addEventListener("change",i),i()}else Gc.current=!1}const Om=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let xl={};function pT(a){xl=a}function Ok(){return xl}class Ck{scrapeMotionValuesFromProps(i,o,l){return{}}constructor({parent:i,props:o,presenceContext:l,reducedMotionConfig:u,skipAnimations:d,blockInitialAnimation:f,visualState:h},m={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=hd,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const x=ct.now();this.renderScheduledAt<x&&(this.renderScheduledAt=x,De.render(this.render,!1,!0))};const{latestValues:_,renderState:g}=h;this.latestValues=_,this.baseTarget={..._},this.initialValues=o.initial?{..._}:{},this.renderState=g,this.parent=i,this.props=o,this.presenceContext=l,this.depth=i?i.depth+1:0,this.reducedMotionConfig=u,this.skipAnimationsConfig=d,this.options=m,this.blockInitialAnimation=!!f,this.isControllingVariants=Dl(o),this.isVariantNode=fT(o),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(i&&i.current);const{willChange:v,...b}=this.scrapeMotionValuesFromProps(o,{},this);for(const x in b){const w=b[x];_[x]!==void 0&&ot(w)&&w.set(_[x])}}mount(i){if(this.hasBeenMounted)for(const o in this.initialValues)this.values.get(o)?.jump(this.initialValues[o]),this.latestValues[o]=this.initialValues[o];this.current=i,Ak.set(i,this),this.projection&&!this.projection.instance&&this.projection.mount(i),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((o,l)=>this.bindToMotionValue(l,o)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(hT.current||Ek(),this.shouldReduceMotion=Gc.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Zn(this.notifyUpdate),Zn(this.render),this.valueSubscriptions.forEach(i=>i()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const i in this.events)this.events[i].clear();for(const i in this.features){const o=this.features[i];o&&(o.unmount(),o.isMounted=!1)}this.current=null}addChild(i){this.children.add(i),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(i)}removeChild(i){this.children.delete(i),this.enteringChildren&&this.enteringChildren.delete(i)}bindToMotionValue(i,o){if(this.valueSubscriptions.has(i)&&this.valueSubscriptions.get(i)(),o.accelerate&&X1.has(i)&&this.current instanceof HTMLElement){const{factory:f,keyframes:h,times:m,ease:_,duration:g}=o.accelerate,v=new I1({element:this.current,name:i,keyframes:h,times:m,ease:_,duration:kt(g)}),b=f(v);this.valueSubscriptions.set(i,()=>{b(),v.cancel()});return}const l=ba.has(i);l&&this.onBindTransform&&this.onBindTransform();const u=o.on("change",f=>{this.latestValues[i]=f,this.props.onUpdate&&De.preRender(this.notifyUpdate),l&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let d;typeof window<"u"&&window.MotionCheckAppearSync&&(d=window.MotionCheckAppearSync(this,i,o)),this.valueSubscriptions.set(i,()=>{u(),d&&d(),o.owner&&o.stop()})}sortNodePosition(i){return!this.current||!this.sortInstanceNodePosition||this.type!==i.type?0:this.sortInstanceNodePosition(this.current,i.current)}updateFeatures(){let i="animation";for(i in xl){const o=xl[i];if(!o)continue;const{isEnabled:l,Feature:u}=o;if(!this.features[i]&&u&&l(this.props)&&(this.features[i]=new u(this)),this.features[i]){const d=this.features[i];d.isMounted?d.update():(d.mount(),d.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Qe()}getStaticValue(i){return this.latestValues[i]}setStaticValue(i,o){this.latestValues[i]=o}update(i,o){(i.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=i,this.prevPresenceContext=this.presenceContext,this.presenceContext=o;for(let l=0;l<Om.length;l++){const u=Om[l];this.propEventSubscriptions[u]&&(this.propEventSubscriptions[u](),delete this.propEventSubscriptions[u]);const d="on"+u,f=i[d];f&&(this.propEventSubscriptions[u]=this.on(u,f))}this.prevMotionValues=xk(this,this.scrapeMotionValuesFromProps(i,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(i){return this.props.variants?this.props.variants[i]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(i){const o=this.getClosestVariantNode();if(o)return o.variantChildren&&o.variantChildren.add(i),()=>o.variantChildren.delete(i)}addValue(i,o){const l=this.values.get(i);o!==l&&(l&&this.removeValue(i),this.bindToMotionValue(i,o),this.values.set(i,o),this.latestValues[i]=o.get())}removeValue(i){this.values.delete(i);const o=this.valueSubscriptions.get(i);o&&(o(),this.valueSubscriptions.delete(i)),delete this.latestValues[i],this.removeValueFromRenderState(i,this.renderState)}hasValue(i){return this.values.has(i)}getValue(i,o){if(this.props.values&&this.props.values[i])return this.props.values[i];let l=this.values.get(i);return l===void 0&&o!==void 0&&(l=ga(o===null?void 0:o,{owner:this}),this.addValue(i,l)),l}readValue(i,o){let l=this.latestValues[i]!==void 0||!this.current?this.latestValues[i]:this.getBaseTargetFromProps(this.props,i)??this.readValueFromInstance(this.current,i,this.options);return l!=null&&(typeof l=="string"&&(h1(l)||_1(l))?l=parseFloat(l):!Tk(l)&&$t.test(o)&&(l=sT(i,o)),this.setBaseTarget(i,ot(l)?l.get():l)),ot(l)?l.get():l}setBaseTarget(i,o){this.baseTarget[i]=o}getBaseTarget(i){const{initial:o}=this.props;let l;if(typeof o=="string"||typeof o=="object"){const d=gd(this.props,o,this.presenceContext?.custom);d&&(l=d[i])}if(o&&l!==void 0)return l;const u=this.getBaseTargetFromProps(this.props,i);return u!==void 0&&!ot(u)?u:this.initialValues[i]!==void 0&&l===void 0?void 0:this.baseTarget[i]}on(i,o){return this.events[i]||(this.events[i]=new ad),this.events[i].add(o)}notify(i,...o){this.events[i]&&this.events[i].notify(...o)}scheduleRenderMicrotask(){bd.render(this.render)}}class _T extends Ck{constructor(){super(...arguments),this.KeyframeResolver=nk}sortInstanceNodePosition(i,o){return i.compareDocumentPosition(o)&2?1:-1}getBaseTargetFromProps(i,o){const l=i.style;return l?l[o]:void 0}removeValueFromRenderState(i,{vars:o,style:l}){delete o[i],delete l[i]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:i}=this.props;ot(i)&&(this.childSubscription=i.on("change",o=>{this.current&&(this.current.textContent=`${o}`)}))}}class Wn{constructor(i){this.isMounted=!1,this.node=i}update(){}}function mT({top:a,left:i,right:o,bottom:l}){return{x:{min:i,max:o},y:{min:a,max:l}}}function kk({x:a,y:i}){return{top:i.min,right:a.max,bottom:i.max,left:a.min}}function Rk(a,i){if(!i)return a;const o=i({x:a.left,y:a.top}),l=i({x:a.right,y:a.bottom});return{top:o.y,left:o.x,bottom:l.y,right:l.x}}function _c(a){return a===void 0||a===1}function Ic({scale:a,scaleX:i,scaleY:o}){return!_c(a)||!_c(i)||!_c(o)}function vi(a){return Ic(a)||gT(a)||a.z||a.rotate||a.rotateX||a.rotateY||a.skewX||a.skewY}function gT(a){return Cm(a.x)||Cm(a.y)}function Cm(a){return a&&a!=="0%"}function wl(a,i,o){const l=a-o,u=i*l;return o+u}function km(a,i,o,l,u){return u!==void 0&&(a=wl(a,u,l)),wl(a,o,l)+i}function $c(a,i=0,o=1,l,u){a.min=km(a.min,i,o,l,u),a.max=km(a.max,i,o,l,u)}function yT(a,{x:i,y:o}){$c(a.x,i.translate,i.scale,i.originPoint),$c(a.y,o.translate,o.scale,o.originPoint)}const Rm=.999999999999,Mm=1.0000000000001;function Mk(a,i,o,l=!1){const u=o.length;if(!u)return;i.x=i.y=1;let d,f;for(let h=0;h<u;h++){d=o[h],f=d.projectionDelta;const{visualElement:m}=d.options;m&&m.props.style&&m.props.style.display==="contents"||(l&&d.options.layoutScroll&&d.scroll&&d!==d.root&&(Jt(a.x,-d.scroll.offset.x),Jt(a.y,-d.scroll.offset.y)),f&&(i.x*=f.x.scale,i.y*=f.y.scale,yT(a,f)),l&&vi(d.latestValues)&&hl(a,d.latestValues,d.layout?.layoutBox))}i.x<Mm&&i.x>Rm&&(i.x=1),i.y<Mm&&i.y>Rm&&(i.y=1)}function Jt(a,i){a.min+=i,a.max+=i}function Dm(a,i,o,l,u=.5){const d=Ne(a.min,a.max,u);$c(a,i,o,d,l)}function Lm(a,i){return typeof a=="string"?parseFloat(a)/100*(i.max-i.min):a}function hl(a,i,o){const l=o??a;Dm(a.x,Lm(i.x,l.x),i.scaleX,i.scale,i.originX),Dm(a.y,Lm(i.y,l.y),i.scaleY,i.scale,i.originY)}function vT(a,i){return mT(Rk(a.getBoundingClientRect(),i))}function Dk(a,i,o){const l=vT(a,o),{scroll:u}=i;return u&&(Jt(l.x,u.offset.x),Jt(l.y,u.offset.y)),l}const Lk={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},zk=va.length;function Nk(a,i,o){let l="",u=!0;for(let d=0;d<zk;d++){const f=va[d],h=a[f];if(h===void 0)continue;let m=!0;if(typeof h=="number")m=h===(f.startsWith("scale")?1:0);else{const _=parseFloat(h);m=f.startsWith("scale")?_===1:_===0}if(!m||o){const _=lT(h,vd[f]);if(!m){u=!1;const g=Lk[f]||f;l+=`${g}(${_}) `}o&&(i[f]=_)}}return l=l.trim(),o?l=o(i,u?"":l):u&&(l="none"),l}function wd(a,i,o){const{style:l,vars:u,transformOrigin:d}=a;let f=!1,h=!1;for(const m in i){const _=i[m];if(ba.has(m)){f=!0;continue}else if(R1(m)){u[m]=_;continue}else{const g=lT(_,vd[m]);m.startsWith("origin")?(h=!0,d[m]=g):l[m]=g}}if(i.transform||(f||o?l.transform=Nk(i,a.transform,o):l.transform&&(l.transform="none")),h){const{originX:m="50%",originY:_="50%",originZ:g=0}=d;l.transformOrigin=`${m} ${_} ${g}`}}function bT(a,{style:i,vars:o},l,u){const d=a.style;let f;for(f in i)d[f]=i[f];u?.applyProjectionStyles(d,l);for(f in o)d.setProperty(f,o[f])}function zm(a,i){return i.max===i.min?0:a/(i.max-i.min)*100}const ys={correct:(a,i)=>{if(!i.target)return a;if(typeof a=="string")if(Q.test(a))a=parseFloat(a);else return a;const o=zm(a,i.target.x),l=zm(a,i.target.y);return`${o}% ${l}%`}},jk={correct:(a,{treeScale:i,projectionDelta:o})=>{const l=a,u=$t.parse(a);if(u.length>5)return l;const d=$t.createTransformer(a),f=typeof u[0]!="number"?1:0,h=o.x.scale*i.x,m=o.y.scale*i.y;u[0+f]/=h,u[1+f]/=m;const _=Ne(h,m,.5);return typeof u[2+f]=="number"&&(u[2+f]/=_),typeof u[3+f]=="number"&&(u[3+f]/=_),d(u)}},Xc={borderRadius:{...ys,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ys,borderTopRightRadius:ys,borderBottomLeftRadius:ys,borderBottomRightRadius:ys,boxShadow:jk};function ST(a,{layout:i,layoutId:o}){return ba.has(a)||a.startsWith("origin")||(i||o!==void 0)&&(!!Xc[a]||a==="opacity")}function Ed(a,i,o){const l=a.style,u=i?.style,d={};if(!l)return d;for(const f in l)(ot(l[f])||u&&ot(u[f])||ST(f,a)||o?.getValue(f)?.liveStyle!==void 0)&&(d[f]=l[f]);return d}function Vk(a){return window.getComputedStyle(a)}class Bk extends _T{constructor(){super(...arguments),this.type="html",this.renderInstance=bT}readValueFromInstance(i,o){if(ba.has(o))return this.projection?.isProjecting?zc(o):a2(i,o);{const l=Vk(i),u=(R1(o)?l.getPropertyValue(o):l[o])||0;return typeof u=="string"?u.trim():u}}measureInstanceViewportBox(i,{transformPagePoint:o}){return vT(i,o)}build(i,o,l){wd(i,o,l.transformTemplate)}scrapeMotionValuesFromProps(i,o,l){return Ed(i,o,l)}}const Uk={offset:"stroke-dashoffset",array:"stroke-dasharray"},Hk={offset:"strokeDashoffset",array:"strokeDasharray"};function Pk(a,i,o=1,l=0,u=!0){a.pathLength=1;const d=u?Uk:Hk;a[d.offset]=`${-l}`,a[d.array]=`${i} ${o}`}const Kk=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function TT(a,{attrX:i,attrY:o,attrScale:l,pathLength:u,pathSpacing:d=1,pathOffset:f=0,...h},m,_,g){if(wd(a,h,_),m){a.style.viewBox&&(a.attrs.viewBox=a.style.viewBox);return}a.attrs=a.style,a.style={};const{attrs:v,style:b}=a;v.transform&&(b.transform=v.transform,delete v.transform),(b.transform||v.transformOrigin)&&(b.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),b.transform&&(b.transformBox=g?.transformBox??"fill-box",delete v.transformBox);for(const x of Kk)v[x]!==void 0&&(b[x]=v[x],delete v[x]);i!==void 0&&(v.x=i),o!==void 0&&(v.y=o),l!==void 0&&(v.scale=l),u!==void 0&&Pk(v,u,d,f,!1)}const AT=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),xT=a=>typeof a=="string"&&a.toLowerCase()==="svg";function qk(a,i,o,l){bT(a,i,void 0,l);for(const u in i.attrs)a.setAttribute(AT.has(u)?u:yd(u),i.attrs[u])}function wT(a,i,o){const l=Ed(a,i,o);for(const u in a)if(ot(a[u])||ot(i[u])){const d=va.indexOf(u)!==-1?"attr"+u.charAt(0).toUpperCase()+u.substring(1):u;l[d]=a[u]}return l}class Yk extends _T{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Qe}getBaseTargetFromProps(i,o){return i[o]}readValueFromInstance(i,o){if(ba.has(o)){const l=aT(o);return l&&l.default||0}return o=AT.has(o)?o:yd(o),i.getAttribute(o)}scrapeMotionValuesFromProps(i,o,l){return wT(i,o,l)}build(i,o,l){TT(i,o,this.isSVGTag,l.transformTemplate,l.style)}renderInstance(i,o,l,u){qk(i,o,l,u)}mount(i){this.isSVGTag=xT(i.tagName),super.mount(i)}}const Gk=xd.length;function ET(a){if(!a)return;if(!a.isControllingVariants){const o=a.parent?ET(a.parent)||{}:{};return a.props.initial!==void 0&&(o.initial=a.props.initial),o}const i={};for(let o=0;o<Gk;o++){const l=xd[o],u=a.props[l];(ks(u)||u===!1)&&(i[l]=u)}return i}function OT(a,i){if(!Array.isArray(i))return!1;const o=i.length;if(o!==a.length)return!1;for(let l=0;l<o;l++)if(i[l]!==a[l])return!1;return!0}const Ik=[...Ad].reverse(),$k=Ad.length;function Xk(a){return i=>Promise.all(i.map(({animation:o,options:l})=>G2(a,o,l)))}function Fk(a){let i=Xk(a),o=Nm(),l=!0,u=!1;const d=_=>(g,v)=>{const b=xi(a,v,_==="exit"?a.presenceContext?.custom:void 0);if(b){const{transition:x,transitionEnd:w,...L}=b;g={...g,...L,...w}}return g};function f(_){i=_(a)}function h(_){const{props:g}=a,v=ET(a.parent)||{},b=[],x=new Set;let w={},L=1/0;for(let B=0;B<$k;B++){const P=Ik[B],U=o[P],H=g[P]!==void 0?g[P]:v[P],I=ks(H),se=P===_?U.isActive:null;se===!1&&(L=B);let W=H===v[P]&&H!==g[P]&&I;if(W&&(l||u)&&a.manuallyAnimateOnMount&&(W=!1),U.protectedKeys={...w},!U.isActive&&se===null||!H&&!U.prevProp||Ml(H)||typeof H=="boolean")continue;if(P==="exit"&&U.isActive&&se!==!0){U.prevResolvedValues&&(w={...w,...U.prevResolvedValues});continue}const Z=Qk(U.prevProp,H);let ee=Z||P===_&&U.isActive&&!W&&I||B>L&&I,$=!1;const de=Array.isArray(H)?H:[H];let ye=de.reduce(d(P),{});se===!1&&(ye={});const{prevResolvedValues:ve={}}=U,be={...ve,...ye},je=G=>{ee=!0,x.has(G)&&($=!0,x.delete(G)),U.needsAnimating[G]=!0;const ae=a.getValue(G);ae&&(ae.liveStyle=!1)};for(const G in be){const ae=ye[G],ce=ve[G];if(w.hasOwnProperty(G))continue;let T=!1;Hc(ae)&&Hc(ce)?T=!OT(ae,ce):T=ae!==ce,T?ae!=null?je(G):x.add(G):ae!==void 0&&x.has(G)?je(G):U.protectedKeys[G]=!0}U.prevProp=H,U.prevResolvedValues=ye,U.isActive&&(w={...w,...ye}),(l||u)&&a.blockInitialAnimation&&(ee=!1);const R=W&&Z;ee&&(!R||$)&&b.push(...de.map(G=>{const ae={type:P};if(typeof G=="string"&&(l||u)&&!R&&a.manuallyAnimateOnMount&&a.parent){const{parent:ce}=a,T=xi(ce,G);if(ce.enteringChildren&&T){const{delayChildren:z}=T.transition||{};ae.delay=F1(ce.enteringChildren,a,z)}}return{animation:G,options:ae}}))}if(x.size){const B={};if(typeof g.initial!="boolean"){const P=xi(a,Array.isArray(g.initial)?g.initial[0]:g.initial);P&&P.transition&&(B.transition=P.transition)}x.forEach(P=>{const U=a.getBaseTarget(P),H=a.getValue(P);H&&(H.liveStyle=!0),B[P]=U??null}),b.push({animation:B})}let V=!!b.length;return l&&(g.initial===!1||g.initial===g.animate)&&!a.manuallyAnimateOnMount&&(V=!1),l=!1,u=!1,V?i(b):Promise.resolve()}function m(_,g){if(o[_].isActive===g)return Promise.resolve();a.variantChildren?.forEach(b=>b.animationState?.setActive(_,g)),o[_].isActive=g;const v=h(_);for(const b in o)o[b].protectedKeys={};return v}return{animateChanges:h,setActive:m,setAnimateFunction:f,getState:()=>o,reset:()=>{o=Nm(),u=!0}}}function Qk(a,i){return typeof i=="string"?i!==a:Array.isArray(i)?!OT(i,a):!1}function yi(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Nm(){return{animate:yi(!0),whileInView:yi(),whileHover:yi(),whileTap:yi(),whileDrag:yi(),whileFocus:yi(),exit:yi()}}function Fc(a,i){a.min=i.min,a.max=i.max}function Gt(a,i){Fc(a.x,i.x),Fc(a.y,i.y)}function jm(a,i){a.translate=i.translate,a.scale=i.scale,a.originPoint=i.originPoint,a.origin=i.origin}const CT=1e-4,Zk=1-CT,Wk=1+CT,kT=.01,Jk=0-kT,eR=0+kT;function dt(a){return a.max-a.min}function tR(a,i,o){return Math.abs(a-i)<=o}function Vm(a,i,o,l=.5){a.origin=l,a.originPoint=Ne(i.min,i.max,a.origin),a.scale=dt(o)/dt(i),a.translate=Ne(o.min,o.max,a.origin)-a.originPoint,(a.scale>=Zk&&a.scale<=Wk||isNaN(a.scale))&&(a.scale=1),(a.translate>=Jk&&a.translate<=eR||isNaN(a.translate))&&(a.translate=0)}function xs(a,i,o,l){Vm(a.x,i.x,o.x,l?l.originX:void 0),Vm(a.y,i.y,o.y,l?l.originY:void 0)}function Bm(a,i,o,l=0){const u=l?Ne(o.min,o.max,l):o.min;a.min=u+i.min,a.max=a.min+dt(i)}function nR(a,i,o,l){Bm(a.x,i.x,o.x,l?.x),Bm(a.y,i.y,o.y,l?.y)}function Um(a,i,o,l=0){const u=l?Ne(o.min,o.max,l):o.min;a.min=i.min-u,a.max=a.min+dt(i)}function El(a,i,o,l){Um(a.x,i.x,o.x,l?.x),Um(a.y,i.y,o.y,l?.y)}function Hm(a,i,o,l,u){return a-=i,a=wl(a,1/o,l),u!==void 0&&(a=wl(a,1/u,l)),a}function iR(a,i=0,o=1,l=.5,u,d=a,f=a){if(tn.test(i)&&(i=parseFloat(i),i=Ne(f.min,f.max,i/100)-f.min),typeof i!="number")return;let h=Ne(d.min,d.max,l);a===d&&(h-=i),a.min=Hm(a.min,i,o,h,u),a.max=Hm(a.max,i,o,h,u)}function Pm(a,i,[o,l,u],d,f){iR(a,i[o],i[l],i[u],i.scale,d,f)}const aR=["x","scaleX","originX"],sR=["y","scaleY","originY"];function Km(a,i,o,l){Pm(a.x,i,aR,o?o.x:void 0,l?l.x:void 0),Pm(a.y,i,sR,o?o.y:void 0,l?l.y:void 0)}function qm(a){return a.translate===0&&a.scale===1}function RT(a){return qm(a.x)&&qm(a.y)}function Ym(a,i){return a.min===i.min&&a.max===i.max}function oR(a,i){return Ym(a.x,i.x)&&Ym(a.y,i.y)}function Gm(a,i){return Math.round(a.min)===Math.round(i.min)&&Math.round(a.max)===Math.round(i.max)}function MT(a,i){return Gm(a.x,i.x)&&Gm(a.y,i.y)}function Im(a){return dt(a.x)/dt(a.y)}function $m(a,i){return a.translate===i.translate&&a.scale===i.scale&&a.originPoint===i.originPoint}function Wt(a){return[a("x"),a("y")]}function lR(a,i,o){let l="";const u=a.x.translate/i.x,d=a.y.translate/i.y,f=o?.z||0;if((u||d||f)&&(l=`translate3d(${u}px, ${d}px, ${f}px) `),(i.x!==1||i.y!==1)&&(l+=`scale(${1/i.x}, ${1/i.y}) `),o){const{transformPerspective:_,rotate:g,rotateX:v,rotateY:b,skewX:x,skewY:w}=o;_&&(l=`perspective(${_}px) ${l}`),g&&(l+=`rotate(${g}deg) `),v&&(l+=`rotateX(${v}deg) `),b&&(l+=`rotateY(${b}deg) `),x&&(l+=`skewX(${x}deg) `),w&&(l+=`skewY(${w}deg) `)}const h=a.x.scale*i.x,m=a.y.scale*i.y;return(h!==1||m!==1)&&(l+=`scale(${h}, ${m})`),l||"none"}const DT=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],rR=DT.length,Xm=a=>typeof a=="string"?parseFloat(a):a,Fm=a=>typeof a=="number"||Q.test(a);function uR(a,i,o,l,u,d){u?(a.opacity=Ne(0,o.opacity??1,cR(l)),a.opacityExit=Ne(i.opacity??1,0,dR(l))):d&&(a.opacity=Ne(i.opacity??1,o.opacity??1,l));for(let f=0;f<rR;f++){const h=DT[f];let m=Qm(i,h),_=Qm(o,h);if(m===void 0&&_===void 0)continue;m||(m=0),_||(_=0),m===0||_===0||Fm(m)===Fm(_)?(a[h]=Math.max(Ne(Xm(m),Xm(_),l),0),(tn.test(_)||tn.test(m))&&(a[h]+="%")):a[h]=_}(i.rotate||o.rotate)&&(a.rotate=Ne(i.rotate||0,o.rotate||0,l))}function Qm(a,i){return a[i]!==void 0?a[i]:a.borderRadius}const cR=LT(0,.5,x1),dR=LT(.5,.95,Pt);function LT(a,i,o){return l=>l<a?0:l>i?1:o(Os(a,i,l))}function fR(a,i,o){const l=ot(a)?a:ga(a);return l.start(md("",l,i,o)),l.animation}function Rs(a,i,o,l={passive:!0}){return a.addEventListener(i,o,l),()=>a.removeEventListener(i,o)}const hR=(a,i)=>a.depth-i.depth;class pR{constructor(){this.children=[],this.isDirty=!1}add(i){nd(this.children,i),this.isDirty=!0}remove(i){vl(this.children,i),this.isDirty=!0}forEach(i){this.isDirty&&this.children.sort(hR),this.isDirty=!1,this.children.forEach(i)}}function _R(a,i){const o=ct.now(),l=({timestamp:u})=>{const d=u-o;d>=i&&(Zn(l),a(d-i))};return De.setup(l,!0),()=>Zn(l)}function pl(a){return ot(a)?a.get():a}class mR{constructor(){this.members=[]}add(i){nd(this.members,i);for(let o=this.members.length-1;o>=0;o--){const l=this.members[o];if(l===i||l===this.lead||l===this.prevLead)continue;const u=l.instance;(!u||u.isConnected===!1)&&!l.snapshot&&(vl(this.members,l),l.unmount())}i.scheduleRender()}remove(i){if(vl(this.members,i),i===this.prevLead&&(this.prevLead=void 0),i===this.lead){const o=this.members[this.members.length-1];o&&this.promote(o)}}relegate(i){for(let o=this.members.indexOf(i)-1;o>=0;o--){const l=this.members[o];if(l.isPresent!==!1&&l.instance?.isConnected!==!1)return this.promote(l),!0}return!1}promote(i,o){const l=this.lead;if(i!==l&&(this.prevLead=l,this.lead=i,i.show(),l)){l.updateSnapshot(),i.scheduleRender();const{layoutDependency:u}=l.options,{layoutDependency:d}=i.options;(u===void 0||u!==d)&&(i.resumeFrom=l,o&&(l.preserveOpacity=!0),l.snapshot&&(i.snapshot=l.snapshot,i.snapshot.latestValues=l.animationValues||l.latestValues),i.root?.isUpdating&&(i.isLayoutDirty=!0)),i.options.crossfade===!1&&l.hide()}}exitAnimationComplete(){this.members.forEach(i=>{i.options.onExitComplete?.(),i.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(i=>i.instance&&i.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const _l={hasAnimatedSinceResize:!0,hasEverUpdated:!1},mc=["","X","Y","Z"],gR=1e3;let yR=0;function gc(a,i,o,l){const{latestValues:u}=i;u[a]&&(o[a]=u[a],i.setStaticValue(a,0),l&&(l[a]=0))}function zT(a){if(a.hasCheckedOptimisedAppear=!0,a.root===a)return;const{visualElement:i}=a.options;if(!i)return;const o=eT(i);if(window.MotionHasOptimisedAnimation(o,"transform")){const{layout:u,layoutId:d}=a.options;window.MotionCancelOptimisedAnimation(o,"transform",De,!(u||d))}const{parent:l}=a;l&&!l.hasCheckedOptimisedAppear&&zT(l)}function NT({attachResizeListener:a,defaultParent:i,measureScroll:o,checkIsScrollRoot:l,resetTransform:u}){return class{constructor(f={},h=i?.()){this.id=yR++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(SR),this.nodes.forEach(OR),this.nodes.forEach(CR),this.nodes.forEach(TR)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=f,this.root=h?h.root||h:this,this.path=h?[...h.path,h]:[],this.parent=h,this.depth=h?h.depth+1:0;for(let m=0;m<this.path.length;m++)this.path[m].shouldResetTransform=!0;this.root===this&&(this.nodes=new pR)}addEventListener(f,h){return this.eventHandlers.has(f)||this.eventHandlers.set(f,new ad),this.eventHandlers.get(f).add(h)}notifyListeners(f,...h){const m=this.eventHandlers.get(f);m&&m.notify(...h)}hasListeners(f){return this.eventHandlers.has(f)}mount(f){if(this.instance)return;this.isSVG=Td(f)&&!bk(f),this.instance=f;const{layoutId:h,layout:m,visualElement:_}=this.options;if(_&&!_.current&&_.mount(f),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(m||h)&&(this.isLayoutDirty=!0),a){let g,v=0;const b=()=>this.root.updateBlockedByResize=!1;De.read(()=>{v=window.innerWidth}),a(f,()=>{const x=window.innerWidth;x!==v&&(v=x,this.root.updateBlockedByResize=!0,g&&g(),g=_R(b,250),_l.hasAnimatedSinceResize&&(_l.hasAnimatedSinceResize=!1,this.nodes.forEach(Jm)))})}h&&this.root.registerSharedNode(h,this),this.options.animate!==!1&&_&&(h||m)&&this.addEventListener("didUpdate",({delta:g,hasLayoutChanged:v,hasRelativeLayoutChanged:b,layout:x})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||_.getDefaultTransition()||LR,{onLayoutAnimationStart:L,onLayoutAnimationComplete:V}=_.getProps(),B=!this.targetLayout||!MT(this.targetLayout,x),P=!v&&b;if(this.options.layoutRoot||this.resumeFrom||P||v&&(B||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const U={..._d(w,"layout"),onPlay:L,onComplete:V};(_.shouldReduceMotion||this.options.layoutRoot)&&(U.delay=0,U.type=!1),this.startAnimation(U),this.setAnimationOrigin(g,P)}else v||Jm(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=x})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const f=this.getStack();f&&f.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Zn(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(kR),this.animationId++)}getTransformTemplate(){const{visualElement:f}=this.options;return f&&f.getProps().transformTemplate}willUpdate(f=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&zT(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let g=0;g<this.path.length;g++){const v=this.path[g];v.shouldResetTransform=!0,(typeof v.latestValues.x=="string"||typeof v.latestValues.y=="string")&&(v.isLayoutDirty=!0),v.updateScroll("snapshot"),v.options.layoutRoot&&v.willUpdate(!1)}const{layoutId:h,layout:m}=this.options;if(h===void 0&&!m)return;const _=this.getTransformTemplate();this.prevTransformTemplateValue=_?_(this.latestValues,""):void 0,this.updateSnapshot(),f&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const m=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),m&&this.nodes.forEach(xR),this.nodes.forEach(Zm);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Wm);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(wR),this.nodes.forEach(ER),this.nodes.forEach(vR),this.nodes.forEach(bR)):this.nodes.forEach(Wm),this.clearAllSnapshots();const h=ct.now();at.delta=nn(0,1e3/60,h-at.timestamp),at.timestamp=h,at.isProcessing=!0,rc.update.process(at),rc.preRender.process(at),rc.render.process(at),at.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,bd.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(AR),this.sharedNodes.forEach(RR)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,De.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){De.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!dt(this.snapshot.measuredBox.x)&&!dt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m<this.path.length;m++)this.path[m].updateScroll();const f=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=Qe()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:h}=this.options;h&&h.notify("LayoutMeasure",this.layout.layoutBox,f?f.layoutBox:void 0)}updateScroll(f="measure"){let h=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===f&&(h=!1),h&&this.instance){const m=l(this.instance);this.scroll={animationId:this.root.animationId,phase:f,isRoot:m,offset:o(this.instance),wasRoot:this.scroll?this.scroll.isRoot:m}}}resetTransform(){if(!u)return;const f=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,h=this.projectionDelta&&!RT(this.projectionDelta),m=this.getTransformTemplate(),_=m?m(this.latestValues,""):void 0,g=_!==this.prevTransformTemplateValue;f&&this.instance&&(h||vi(this.latestValues)||g)&&(u(this.instance,_),this.shouldResetTransform=!1,this.scheduleRender())}measure(f=!0){const h=this.measurePageBox();let m=this.removeElementScroll(h);return f&&(m=this.removeTransform(m)),zR(m),{animationId:this.root.animationId,measuredBox:h,layoutBox:m,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:f}=this.options;if(!f)return Qe();const h=f.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(NR))){const{scroll:_}=this.root;_&&(Jt(h.x,_.offset.x),Jt(h.y,_.offset.y))}return h}removeElementScroll(f){const h=Qe();if(Gt(h,f),this.scroll?.wasRoot)return h;for(let m=0;m<this.path.length;m++){const _=this.path[m],{scroll:g,options:v}=_;_!==this.root&&g&&v.layoutScroll&&(g.wasRoot&&Gt(h,f),Jt(h.x,g.offset.x),Jt(h.y,g.offset.y))}return h}applyTransform(f,h=!1,m){const _=m||Qe();Gt(_,f);for(let g=0;g<this.path.length;g++){const v=this.path[g];!h&&v.options.layoutScroll&&v.scroll&&v!==v.root&&(Jt(_.x,-v.scroll.offset.x),Jt(_.y,-v.scroll.offset.y)),vi(v.latestValues)&&hl(_,v.latestValues,v.layout?.layoutBox)}return vi(this.latestValues)&&hl(_,this.latestValues,this.layout?.layoutBox),_}removeTransform(f){const h=Qe();Gt(h,f);for(let m=0;m<this.path.length;m++){const _=this.path[m];if(!vi(_.latestValues))continue;let g;_.instance&&(Ic(_.latestValues)&&_.updateSnapshot(),g=Qe(),Gt(g,_.measurePageBox())),Km(h,_.latestValues,_.snapshot?.layoutBox,g)}return vi(this.latestValues)&&Km(h,this.latestValues),h}setTargetDelta(f){this.targetDelta=f,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(f){this.options={...this.options,...f,crossfade:f.crossfade!==void 0?f.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==at.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(f=!1){const h=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=h.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=h.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=h.isSharedProjectionDirty);const m=!!this.resumingFrom||this!==h;if(!(f||m&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:g,layoutId:v}=this.options;if(!this.layout||!(g||v))return;this.resolvedRelativeTargetAt=at.timestamp;const b=this.getClosestProjectingParent();b&&this.linkedParentVersion!==b.layoutVersion&&!b.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&b&&b.layout?this.createRelativeTarget(b,this.layout.layoutBox,b.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Qe(),this.targetWithTransforms=Qe()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),nR(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Gt(this.target,this.layout.layoutBox),yT(this.target,this.targetDelta)):Gt(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&b&&!!b.resumingFrom==!!this.resumingFrom&&!b.options.layoutScroll&&b.target&&this.animationProgress!==1?this.createRelativeTarget(b,this.target,b.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Ic(this.parent.latestValues)||gT(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(f,h,m){this.relativeParent=f,this.linkedParentVersion=f.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Qe(),this.relativeTargetOrigin=Qe(),El(this.relativeTargetOrigin,h,m,this.options.layoutAnchor||void 0),Gt(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const f=this.getLead(),h=!!this.resumingFrom||this!==f;let m=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(m=!1),h&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(m=!1),this.resolvedRelativeTargetAt===at.timestamp&&(m=!1),m)return;const{layout:_,layoutId:g}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(_||g))return;Gt(this.layoutCorrected,this.layout.layoutBox);const v=this.treeScale.x,b=this.treeScale.y;Mk(this.layoutCorrected,this.treeScale,this.path,h),f.layout&&!f.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(f.target=f.layout.layoutBox,f.targetWithTransforms=Qe());const{target:x}=f;if(!x){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(jm(this.prevProjectionDelta.x,this.projectionDelta.x),jm(this.prevProjectionDelta.y,this.projectionDelta.y)),xs(this.projectionDelta,this.layoutCorrected,x,this.latestValues),(this.treeScale.x!==v||this.treeScale.y!==b||!$m(this.projectionDelta.x,this.prevProjectionDelta.x)||!$m(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",x))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(f=!0){if(this.options.visualElement?.scheduleRender(),f){const h=this.getStack();h&&h.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=pa(),this.projectionDelta=pa(),this.projectionDeltaWithTransform=pa()}setAnimationOrigin(f,h=!1){const m=this.snapshot,_=m?m.latestValues:{},g={...this.latestValues},v=pa();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!h;const b=Qe(),x=m?m.source:void 0,w=this.layout?this.layout.source:void 0,L=x!==w,V=this.getStack(),B=!V||V.members.length<=1,P=!!(L&&!B&&this.options.crossfade===!0&&!this.path.some(DR));this.animationProgress=0;let U;this.mixTargetDelta=H=>{const I=H/1e3;eg(v.x,f.x,I),eg(v.y,f.y,I),this.setTargetDelta(v),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(El(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),MR(this.relativeTarget,this.relativeTargetOrigin,b,I),U&&oR(this.relativeTarget,U)&&(this.isProjectionDirty=!1),U||(U=Qe()),Gt(U,this.relativeTarget)),L&&(this.animationValues=g,uR(g,_,this.latestValues,I,P,B)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=I},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(f){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Zn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=De.update(()=>{_l.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=ga(0)),this.motionValue.jump(0,!1),this.currentAnimation=fR(this.motionValue,[0,1e3],{...f,velocity:0,isSync:!0,onUpdate:h=>{this.mixTargetDelta(h),f.onUpdate&&f.onUpdate(h)},onStop:()=>{},onComplete:()=>{f.onComplete&&f.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const f=this.getStack();f&&f.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(gR),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const f=this.getLead();let{targetWithTransforms:h,target:m,layout:_,latestValues:g}=f;if(!(!h||!m||!_)){if(this!==f&&this.layout&&_&&jT(this.options.animationType,this.layout.layoutBox,_.layoutBox)){m=this.target||Qe();const v=dt(this.layout.layoutBox.x);m.x.min=f.target.x.min,m.x.max=m.x.min+v;const b=dt(this.layout.layoutBox.y);m.y.min=f.target.y.min,m.y.max=m.y.min+b}Gt(h,m),hl(h,g),xs(this.projectionDeltaWithTransform,this.layoutCorrected,h,g)}}registerSharedNode(f,h){this.sharedNodes.has(f)||this.sharedNodes.set(f,new mR),this.sharedNodes.get(f).add(h);const _=h.options.initialPromotionConfig;h.promote({transition:_?_.transition:void 0,preserveFollowOpacity:_&&_.shouldPreserveFollowOpacity?_.shouldPreserveFollowOpacity(h):void 0})}isLead(){const f=this.getStack();return f?f.lead===this:!0}getLead(){const{layoutId:f}=this.options;return f?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:f}=this.options;return f?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:f}=this.options;if(f)return this.root.sharedNodes.get(f)}promote({needsReset:f,transition:h,preserveFollowOpacity:m}={}){const _=this.getStack();_&&_.promote(this,m),f&&(this.projectionDelta=void 0,this.needsReset=!0),h&&this.setOptions({transition:h})}relegate(){const f=this.getStack();return f?f.relegate(this):!1}resetSkewAndRotation(){const{visualElement:f}=this.options;if(!f)return;let h=!1;const{latestValues:m}=f;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(h=!0),!h)return;const _={};m.z&&gc("z",f,_,this.animationValues);for(let g=0;g<mc.length;g++)gc(`rotate${mc[g]}`,f,_,this.animationValues),gc(`skew${mc[g]}`,f,_,this.animationValues);f.render();for(const g in _)f.setStaticValue(g,_[g]),this.animationValues&&(this.animationValues[g]=_[g]);f.scheduleRender()}applyProjectionStyles(f,h){if(!this.instance||this.isSVG)return;if(!this.isVisible){f.visibility="hidden";return}const m=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,f.visibility="",f.opacity="",f.pointerEvents=pl(h?.pointerEvents)||"",f.transform=m?m(this.latestValues,""):"none";return}const _=this.getLead();if(!this.projectionDelta||!this.layout||!_.target){this.options.layoutId&&(f.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,f.pointerEvents=pl(h?.pointerEvents)||""),this.hasProjected&&!vi(this.latestValues)&&(f.transform=m?m({},""):"none",this.hasProjected=!1);return}f.visibility="";const g=_.animationValues||_.latestValues;this.applyTransformsToTarget();let v=lR(this.projectionDeltaWithTransform,this.treeScale,g);m&&(v=m(g,v)),f.transform=v;const{x:b,y:x}=this.projectionDelta;f.transformOrigin=`${b.origin*100}% ${x.origin*100}% 0`,_.animationValues?f.opacity=_===this?g.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:g.opacityExit:f.opacity=_===this?g.opacity!==void 0?g.opacity:"":g.opacityExit!==void 0?g.opacityExit:0;for(const w in Xc){if(g[w]===void 0)continue;const{correct:L,applyTo:V,isCSSVariable:B}=Xc[w],P=v==="none"?g[w]:L(g[w],_);if(V){const U=V.length;for(let H=0;H<U;H++)f[V[H]]=P}else B?this.options.visualElement.renderState.vars[w]=P:f[w]=P}this.options.layoutId&&(f.pointerEvents=_===this?pl(h?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(f=>f.currentAnimation?.stop()),this.root.nodes.forEach(Zm),this.root.sharedNodes.clear()}}}function vR(a){a.updateLayout()}function bR(a){const i=a.resumeFrom?.snapshot||a.snapshot;if(a.isLead()&&a.layout&&i&&a.hasListeners("didUpdate")){const{layoutBox:o,measuredBox:l}=a.layout,{animationType:u}=a.options,d=i.source!==a.layout.source;if(u==="size")Wt(g=>{const v=d?i.measuredBox[g]:i.layoutBox[g],b=dt(v);v.min=o[g].min,v.max=v.min+b});else if(u==="x"||u==="y"){const g=u==="x"?"y":"x";Fc(d?i.measuredBox[g]:i.layoutBox[g],o[g])}else jT(u,i.layoutBox,o)&&Wt(g=>{const v=d?i.measuredBox[g]:i.layoutBox[g],b=dt(o[g]);v.max=v.min+b,a.relativeTarget&&!a.currentAnimation&&(a.isProjectionDirty=!0,a.relativeTarget[g].max=a.relativeTarget[g].min+b)});const f=pa();xs(f,o,i.layoutBox);const h=pa();d?xs(h,a.applyTransform(l,!0),i.measuredBox):xs(h,o,i.layoutBox);const m=!RT(f);let _=!1;if(!a.resumeFrom){const g=a.getClosestProjectingParent();if(g&&!g.resumeFrom){const{snapshot:v,layout:b}=g;if(v&&b){const x=a.options.layoutAnchor||void 0,w=Qe();El(w,i.layoutBox,v.layoutBox,x);const L=Qe();El(L,o,b.layoutBox,x),MT(w,L)||(_=!0),g.options.layoutRoot&&(a.relativeTarget=L,a.relativeTargetOrigin=w,a.relativeParent=g)}}}a.notifyListeners("didUpdate",{layout:o,snapshot:i,delta:h,layoutDelta:f,hasLayoutChanged:m,hasRelativeLayoutChanged:_})}else if(a.isLead()){const{onExitComplete:o}=a.options;o&&o()}a.options.transition=void 0}function SR(a){a.parent&&(a.isProjecting()||(a.isProjectionDirty=a.parent.isProjectionDirty),a.isSharedProjectionDirty||(a.isSharedProjectionDirty=!!(a.isProjectionDirty||a.parent.isProjectionDirty||a.parent.isSharedProjectionDirty)),a.isTransformDirty||(a.isTransformDirty=a.parent.isTransformDirty))}function TR(a){a.isProjectionDirty=a.isSharedProjectionDirty=a.isTransformDirty=!1}function AR(a){a.clearSnapshot()}function Zm(a){a.clearMeasurements()}function xR(a){a.isLayoutDirty=!0,a.updateLayout()}function Wm(a){a.isLayoutDirty=!1}function wR(a){a.isAnimationBlocked&&a.layout&&!a.isLayoutDirty&&(a.snapshot=a.layout,a.isLayoutDirty=!0)}function ER(a){const{visualElement:i}=a.options;i&&i.getProps().onBeforeLayoutMeasure&&i.notify("BeforeLayoutMeasure"),a.resetTransform()}function Jm(a){a.finishAnimation(),a.targetDelta=a.relativeTarget=a.target=void 0,a.isProjectionDirty=!0}function OR(a){a.resolveTargetDelta()}function CR(a){a.calcProjection()}function kR(a){a.resetSkewAndRotation()}function RR(a){a.removeLeadSnapshot()}function eg(a,i,o){a.translate=Ne(i.translate,0,o),a.scale=Ne(i.scale,1,o),a.origin=i.origin,a.originPoint=i.originPoint}function tg(a,i,o,l){a.min=Ne(i.min,o.min,l),a.max=Ne(i.max,o.max,l)}function MR(a,i,o,l){tg(a.x,i.x,o.x,l),tg(a.y,i.y,o.y,l)}function DR(a){return a.animationValues&&a.animationValues.opacityExit!==void 0}const LR={duration:.45,ease:[.4,0,.1,1]},ng=a=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(a),ig=ng("applewebkit/")&&!ng("chrome/")?Math.round:Pt;function ag(a){a.min=ig(a.min),a.max=ig(a.max)}function zR(a){ag(a.x),ag(a.y)}function jT(a,i,o){return a==="position"||a==="preserve-aspect"&&!tR(Im(i),Im(o),.2)}function NR(a){return a!==a.root&&a.scroll?.wasRoot}const jR=NT({attachResizeListener:(a,i)=>Rs(a,"resize",i),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),yc={current:void 0},VT=NT({measureScroll:a=>({x:a.scrollLeft,y:a.scrollTop}),defaultParent:()=>{if(!yc.current){const a=new jR({});a.mount(window),a.setOptions({layoutScroll:!0}),yc.current=a}return yc.current},resetTransform:(a,i)=>{a.style.transform=i!==void 0?i:"none"},checkIsScrollRoot:a=>window.getComputedStyle(a).position==="fixed"}),Od=Y.createContext({transformPagePoint:a=>a,isStatic:!1,reducedMotion:"never"});function sg(a,i){if(typeof a=="function")return a(i);a!=null&&(a.current=i)}function VR(...a){return i=>{let o=!1;const l=a.map(u=>{const d=sg(u,i);return!o&&typeof d=="function"&&(o=!0),d});if(o)return()=>{for(let u=0;u<l.length;u++){const d=l[u];typeof d=="function"?d():sg(a[u],null)}}}}function BR(...a){return Y.useCallback(VR(...a),a)}class UR extends Y.Component{getSnapshotBeforeUpdate(i){const o=this.props.childRef.current;if(rl(o)&&i.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const l=o.offsetParent,u=rl(l)&&l.offsetWidth||0,d=rl(l)&&l.offsetHeight||0,f=getComputedStyle(o),h=this.props.sizeRef.current;h.height=parseFloat(f.height),h.width=parseFloat(f.width),h.top=o.offsetTop,h.left=o.offsetLeft,h.right=u-h.width-h.left,h.bottom=d-h.height-h.top}return null}componentDidUpdate(){}render(){return this.props.children}}function HR({children:a,isPresent:i,anchorX:o,anchorY:l,root:u,pop:d}){const f=Y.useId(),h=Y.useRef(null),m=Y.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:_}=Y.useContext(Od),g=a.props?.ref??a?.ref,v=BR(h,g);return Y.useInsertionEffect(()=>{const{width:b,height:x,top:w,left:L,right:V,bottom:B}=m.current;if(i||d===!1||!h.current||!b||!x)return;const P=o==="left"?`left: ${L}`:`right: ${V}`,U=l==="bottom"?`bottom: ${B}`:`top: ${w}`;h.current.dataset.motionPopId=f;const H=document.createElement("style");_&&(H.nonce=_);const I=u??document.head;return I.appendChild(H),H.sheet&&H.sheet.insertRule(`
16
+ [data-motion-pop-id="${f}"] {
17
+ position: absolute !important;
18
+ width: ${b}px !important;
19
+ height: ${x}px !important;
20
+ ${P}px !important;
21
+ ${U}px !important;
22
+ }
23
+ `),()=>{h.current?.removeAttribute("data-motion-pop-id"),I.contains(H)&&I.removeChild(H)}},[i]),st.jsx(UR,{isPresent:i,childRef:h,sizeRef:m,pop:d,children:d===!1?a:Y.cloneElement(a,{ref:v})})}const PR=({children:a,initial:i,isPresent:o,onExitComplete:l,custom:u,presenceAffectsLayout:d,mode:f,anchorX:h,anchorY:m,root:_})=>{const g=td(KR),v=Y.useId();let b=!0,x=Y.useMemo(()=>(b=!1,{id:v,initial:i,isPresent:o,custom:u,onExitComplete:w=>{g.set(w,!0);for(const L of g.values())if(!L)return;l&&l()},register:w=>(g.set(w,!1),()=>g.delete(w))}),[o,g,l]);return d&&b&&(x={...x}),Y.useMemo(()=>{g.forEach((w,L)=>g.set(L,!1))},[o]),Y.useEffect(()=>{!o&&!g.size&&l&&l()},[o]),a=st.jsx(HR,{pop:f==="popLayout",isPresent:o,anchorX:h,anchorY:m,root:_,children:a}),st.jsx(kl.Provider,{value:x,children:a})};function KR(){return new Map}function BT(a=!0){const i=Y.useContext(kl);if(i===null)return[!0,null];const{isPresent:o,onExitComplete:l,register:u}=i,d=Y.useId();Y.useEffect(()=>{if(a)return u(d)},[a]);const f=Y.useCallback(()=>a&&l&&l(d),[d,l,a]);return!o&&l?[!1,f]:[!0]}const il=a=>a.key||"";function og(a){const i=[];return Y.Children.forEach(a,o=>{Y.isValidElement(o)&&i.push(o)}),i}const mD=({children:a,custom:i,initial:o=!0,onExitComplete:l,presenceAffectsLayout:u=!0,mode:d="sync",propagate:f=!1,anchorX:h="left",anchorY:m="top",root:_})=>{const[g,v]=BT(f),b=Y.useMemo(()=>og(a),[a]),x=f&&!g?[]:b.map(il),w=Y.useRef(!0),L=Y.useRef(b),V=td(()=>new Map),B=Y.useRef(new Set),[P,U]=Y.useState(b),[H,I]=Y.useState(b);f1(()=>{w.current=!1,L.current=b;for(let Z=0;Z<H.length;Z++){const ee=il(H[Z]);x.includes(ee)?(V.delete(ee),B.current.delete(ee)):V.get(ee)!==!0&&V.set(ee,!1)}},[H,x.length,x.join("-")]);const se=[];if(b!==P){let Z=[...b];for(let ee=0;ee<H.length;ee++){const $=H[ee],de=il($);x.includes(de)||(Z.splice(ee,0,$),se.push($))}return d==="wait"&&se.length&&(Z=se),I(og(Z)),U(b),null}const{forceRender:W}=Y.useContext(ed);return st.jsx(st.Fragment,{children:H.map(Z=>{const ee=il(Z),$=f&&!g?!1:b===H||x.includes(ee),de=()=>{if(B.current.has(ee))return;if(V.has(ee))B.current.add(ee),V.set(ee,!0);else return;let ye=!0;V.forEach(ve=>{ve||(ye=!1)}),ye&&(W?.(),I(L.current),f&&v?.(),l&&l())};return st.jsx(PR,{isPresent:$,initial:!w.current||o?void 0:!1,custom:i,presenceAffectsLayout:u,mode:d,root:_,onExitComplete:$?void 0:de,anchorX:h,anchorY:m,children:Z},ee)})})},UT=Y.createContext({strict:!1}),lg={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let rg=!1;function qR(){if(rg)return;const a={};for(const i in lg)a[i]={isEnabled:o=>lg[i].some(l=>!!o[l])};pT(a),rg=!0}function HT(){return qR(),Ok()}function YR(a){const i=HT();for(const o in a)i[o]={...i[o],...a[o]};pT(i)}const GR=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function Ol(a){return a.startsWith("while")||a.startsWith("drag")&&a!=="draggable"||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||GR.has(a)}let PT=a=>!Ol(a);function IR(a){typeof a=="function"&&(PT=i=>i.startsWith("on")?!Ol(i):a(i))}try{IR(require("@emotion/is-prop-valid").default)}catch{}function $R(a,i,o){const l={};for(const u in a)u==="values"&&typeof a.values=="object"||ot(a[u])||(PT(u)||o===!0&&Ol(u)||!i&&!Ol(u)||a.draggable&&u.startsWith("onDrag"))&&(l[u]=a[u]);return l}const Ll=Y.createContext({});function XR(a,i){if(Dl(a)){const{initial:o,animate:l}=a;return{initial:o===!1||ks(o)?o:void 0,animate:ks(l)?l:void 0}}return a.inherit!==!1?i:{}}function FR(a){const{initial:i,animate:o}=XR(a,Y.useContext(Ll));return Y.useMemo(()=>({initial:i,animate:o}),[ug(i),ug(o)])}function ug(a){return Array.isArray(a)?a.join(" "):a}const Cd=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function KT(a,i,o){for(const l in i)!ot(i[l])&&!ST(l,o)&&(a[l]=i[l])}function QR({transformTemplate:a},i){return Y.useMemo(()=>{const o=Cd();return wd(o,i,a),Object.assign({},o.vars,o.style)},[i])}function ZR(a,i){const o=a.style||{},l={};return KT(l,o,a),Object.assign(l,QR(a,i)),l}function WR(a,i){const o={},l=ZR(a,i);return a.drag&&a.dragListener!==!1&&(o.draggable=!1,l.userSelect=l.WebkitUserSelect=l.WebkitTouchCallout="none",l.touchAction=a.drag===!0?"none":`pan-${a.drag==="x"?"y":"x"}`),a.tabIndex===void 0&&(a.onTap||a.onTapStart||a.whileTap)&&(o.tabIndex=0),o.style=l,o}const qT=()=>({...Cd(),attrs:{}});function JR(a,i,o,l){const u=Y.useMemo(()=>{const d=qT();return TT(d,i,xT(l),a.transformTemplate,a.style),{...d.attrs,style:{...d.style}}},[i]);if(a.style){const d={};KT(d,a.style,a),u.style={...d,...u.style}}return u}const eM=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function kd(a){return typeof a!="string"||a.includes("-")?!1:!!(eM.indexOf(a)>-1||/[A-Z]/u.test(a))}function tM(a,i,o,{latestValues:l},u,d=!1,f){const m=(f??kd(a)?JR:WR)(i,l,u,a),_=$R(i,typeof a=="string",d),g=a!==Y.Fragment?{..._,...m,ref:o}:{},{children:v}=i,b=Y.useMemo(()=>ot(v)?v.get():v,[v]);return Y.createElement(a,{...g,children:b})}function nM({scrapeMotionValuesFromProps:a,createRenderState:i},o,l,u){return{latestValues:iM(o,l,u,a),renderState:i()}}function iM(a,i,o,l){const u={},d=l(a,{});for(const b in d)u[b]=pl(d[b]);let{initial:f,animate:h}=a;const m=Dl(a),_=fT(a);i&&_&&!m&&a.inherit!==!1&&(f===void 0&&(f=i.initial),h===void 0&&(h=i.animate));let g=o?o.initial===!1:!1;g=g||f===!1;const v=g?h:f;if(v&&typeof v!="boolean"&&!Ml(v)){const b=Array.isArray(v)?v:[v];for(let x=0;x<b.length;x++){const w=gd(a,b[x]);if(w){const{transitionEnd:L,transition:V,...B}=w;for(const P in B){let U=B[P];if(Array.isArray(U)){const H=g?U.length-1:0;U=U[H]}U!==null&&(u[P]=U)}for(const P in L)u[P]=L[P]}}}return u}const YT=a=>(i,o)=>{const l=Y.useContext(Ll),u=Y.useContext(kl),d=()=>nM(a,i,l,u);return o?d():td(d)},aM=YT({scrapeMotionValuesFromProps:Ed,createRenderState:Cd}),sM=YT({scrapeMotionValuesFromProps:wT,createRenderState:qT}),oM=Symbol.for("motionComponentSymbol");function lM(a,i,o){const l=Y.useRef(o);Y.useInsertionEffect(()=>{l.current=o});const u=Y.useRef(null);return Y.useCallback(d=>{d&&a.onMount?.(d);const f=l.current;if(typeof f=="function")if(d){const h=f(d);typeof h=="function"&&(u.current=h)}else u.current?(u.current(),u.current=null):f(d);else f&&(f.current=d);i&&(d?i.mount(d):i.unmount())},[i])}const GT=Y.createContext({});function da(a){return a&&typeof a=="object"&&Object.prototype.hasOwnProperty.call(a,"current")}function rM(a,i,o,l,u,d){const{visualElement:f}=Y.useContext(Ll),h=Y.useContext(UT),m=Y.useContext(kl),_=Y.useContext(Od),g=_.reducedMotion,v=_.skipAnimations,b=Y.useRef(null),x=Y.useRef(!1);l=l||h.renderer,!b.current&&l&&(b.current=l(a,{visualState:i,parent:f,props:o,presenceContext:m,blockInitialAnimation:m?m.initial===!1:!1,reducedMotionConfig:g,skipAnimations:v,isSVG:d}),x.current&&b.current&&(b.current.manuallyAnimateOnMount=!0));const w=b.current,L=Y.useContext(GT);w&&!w.projection&&u&&(w.type==="html"||w.type==="svg")&&uM(b.current,o,u,L);const V=Y.useRef(!1);Y.useInsertionEffect(()=>{w&&V.current&&w.update(o,m)});const B=o[J1],P=Y.useRef(!!B&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(B)&&window.MotionHasOptimisedAnimation?.(B));return f1(()=>{x.current=!0,w&&(V.current=!0,window.MotionIsMounted=!0,w.updateFeatures(),w.scheduleRenderMicrotask(),P.current&&w.animationState&&w.animationState.animateChanges())}),Y.useEffect(()=>{w&&(!P.current&&w.animationState&&w.animationState.animateChanges(),P.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(B)}),P.current=!1),w.enteringChildren=void 0)}),w}function uM(a,i,o,l){const{layoutId:u,layout:d,drag:f,dragConstraints:h,layoutScroll:m,layoutRoot:_,layoutAnchor:g,layoutCrossfade:v}=i;a.projection=new o(a.latestValues,i["data-framer-portal-id"]?void 0:IT(a.parent)),a.projection.setOptions({layoutId:u,layout:d,alwaysMeasureLayout:!!f||h&&da(h),visualElement:a,animationType:typeof d=="string"?d:"both",initialPromotionConfig:l,crossfade:v,layoutScroll:m,layoutRoot:_,layoutAnchor:g})}function IT(a){if(a)return a.options.allowProjection!==!1?a.projection:IT(a.parent)}function vc(a,{forwardMotionProps:i=!1,type:o}={},l,u){l&&YR(l);const d=o?o==="svg":kd(a),f=d?sM:aM;function h(_,g){let v;const b={...Y.useContext(Od),..._,layoutId:cM(_)},{isStatic:x}=b,w=FR(_),L=f(_,x);if(!x&&typeof window<"u"){dM();const V=fM(b);v=V.MeasureLayout,w.visualElement=rM(a,L,b,u,V.ProjectionNode,d)}return st.jsxs(Ll.Provider,{value:w,children:[v&&w.visualElement?st.jsx(v,{visualElement:w.visualElement,...b}):null,tM(a,_,lM(L,w.visualElement,g),L,x,i,d)]})}h.displayName=`motion.${typeof a=="string"?a:`create(${a.displayName??a.name??""})`}`;const m=Y.forwardRef(h);return m[oM]=a,m}function cM({layoutId:a}){const i=Y.useContext(ed).id;return i&&a!==void 0?i+"-"+a:a}function dM(a,i){Y.useContext(UT).strict}function fM(a){const i=HT(),{drag:o,layout:l}=i;if(!o&&!l)return{};const u={...o,...l};return{MeasureLayout:o?.isEnabled(a)||l?.isEnabled(a)?u.MeasureLayout:void 0,ProjectionNode:u.ProjectionNode}}function hM(a,i){if(typeof Proxy>"u")return vc;const o=new Map,l=(d,f)=>vc(d,f,a,i),u=(d,f)=>l(d,f);return new Proxy(u,{get:(d,f)=>f==="create"?l:(o.has(f)||o.set(f,vc(f,void 0,a,i)),o.get(f))})}const pM=(a,i)=>i.isSVG??kd(a)?new Yk(i):new Bk(i,{allowProjection:a!==Y.Fragment});class _M extends Wn{constructor(i){super(i),i.animationState||(i.animationState=Fk(i))}updateAnimationControlsSubscription(){const{animate:i}=this.node.getProps();Ml(i)&&(this.unmountControls=i.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:i}=this.node.getProps(),{animate:o}=this.node.prevProps||{};i!==o&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let mM=0;class gM extends Wn{constructor(){super(...arguments),this.id=mM++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:i,onExitComplete:o}=this.node.presenceContext,{isPresent:l}=this.node.prevPresenceContext||{};if(!this.node.animationState||i===l)return;if(i&&l===!1){if(this.isExitComplete){const{initial:d,custom:f}=this.node.getProps();if(typeof d=="string"){const h=xi(this.node,d,f);if(h){const{transition:m,transitionEnd:_,...g}=h;for(const v in g)this.node.getValue(v)?.jump(g[v])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const u=this.node.animationState.setActive("exit",!i);o&&!i&&u.then(()=>{this.isExitComplete=!0,o(this.id)})}mount(){const{register:i,onExitComplete:o}=this.node.presenceContext||{};o&&o(this.id),i&&(this.unmount=i(this.id))}unmount(){}}const yM={animation:{Feature:_M},exit:{Feature:gM}};function zs(a){return{point:{x:a.pageX,y:a.pageY}}}const vM=a=>i=>Sd(i)&&a(i,zs(i));function ws(a,i,o,l){return Rs(a,i,vM(o),l)}const $T=({current:a})=>a?a.ownerDocument.defaultView:null,cg=(a,i)=>Math.abs(a-i);function bM(a,i){const o=cg(a.x,i.x),l=cg(a.y,i.y);return Math.sqrt(o**2+l**2)}const dg=new Set(["auto","scroll"]);class XT{constructor(i,o,{transformPagePoint:l,contextWindow:u=window,dragSnapToOrigin:d=!1,distanceThreshold:f=3,element:h}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=x=>{this.handleScroll(x.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=al(this.lastRawMoveEventInfo,this.transformPagePoint));const x=bc(this.lastMoveEventInfo,this.history),w=this.startEvent!==null,L=bM(x.offset,{x:0,y:0})>=this.distanceThreshold;if(!w&&!L)return;const{point:V}=x,{timestamp:B}=at;this.history.push({...V,timestamp:B});const{onStart:P,onMove:U}=this.handlers;w||(P&&P(this.lastMoveEvent,x),this.startEvent=this.lastMoveEvent),U&&U(this.lastMoveEvent,x)},this.handlePointerMove=(x,w)=>{this.lastMoveEvent=x,this.lastRawMoveEventInfo=w,this.lastMoveEventInfo=al(w,this.transformPagePoint),De.update(this.updatePoint,!0)},this.handlePointerUp=(x,w)=>{this.end();const{onEnd:L,onSessionEnd:V,resumeAnimation:B}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&B&&B(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const P=bc(x.type==="pointercancel"?this.lastMoveEventInfo:al(w,this.transformPagePoint),this.history);this.startEvent&&L&&L(x,P),V&&V(x,P)},!Sd(i))return;this.dragSnapToOrigin=d,this.handlers=o,this.transformPagePoint=l,this.distanceThreshold=f,this.contextWindow=u||window;const m=zs(i),_=al(m,this.transformPagePoint),{point:g}=_,{timestamp:v}=at;this.history=[{...g,timestamp:v}];const{onSessionStart:b}=o;b&&b(i,bc(_,this.history)),this.removeListeners=Ms(ws(this.contextWindow,"pointermove",this.handlePointerMove),ws(this.contextWindow,"pointerup",this.handlePointerUp),ws(this.contextWindow,"pointercancel",this.handlePointerUp)),h&&this.startScrollTracking(h)}startScrollTracking(i){let o=i.parentElement;for(;o;){const l=getComputedStyle(o);(dg.has(l.overflowX)||dg.has(l.overflowY))&&this.scrollPositions.set(o,{x:o.scrollLeft,y:o.scrollTop}),o=o.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(i){const o=this.scrollPositions.get(i);if(!o)return;const l=i===window,u=l?{x:window.scrollX,y:window.scrollY}:{x:i.scrollLeft,y:i.scrollTop},d={x:u.x-o.x,y:u.y-o.y};d.x===0&&d.y===0||(l?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=d.x,this.lastMoveEventInfo.point.y+=d.y):this.history.length>0&&(this.history[0].x-=d.x,this.history[0].y-=d.y),this.scrollPositions.set(i,u),De.update(this.updatePoint,!0))}updateHandlers(i){this.handlers=i}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Zn(this.updatePoint)}}function al(a,i){return i?{point:i(a.point)}:a}function fg(a,i){return{x:a.x-i.x,y:a.y-i.y}}function bc({point:a},i){return{point:a,delta:fg(a,FT(i)),offset:fg(a,SM(i)),velocity:TM(i,.1)}}function SM(a){return a[0]}function FT(a){return a[a.length-1]}function TM(a,i){if(a.length<2)return{x:0,y:0};let o=a.length-1,l=null;const u=FT(a);for(;o>=0&&(l=a[o],!(u.timestamp-l.timestamp>kt(i)));)o--;if(!l)return{x:0,y:0};l===a[0]&&a.length>2&&u.timestamp-l.timestamp>kt(i)*2&&(l=a[1]);const d=Ht(u.timestamp-l.timestamp);if(d===0)return{x:0,y:0};const f={x:(u.x-l.x)/d,y:(u.y-l.y)/d};return f.x===1/0&&(f.x=0),f.y===1/0&&(f.y=0),f}function AM(a,{min:i,max:o},l){return i!==void 0&&a<i?a=l?Ne(i,a,l.min):Math.max(a,i):o!==void 0&&a>o&&(a=l?Ne(o,a,l.max):Math.min(a,o)),a}function hg(a,i,o){return{min:i!==void 0?a.min+i:void 0,max:o!==void 0?a.max+o-(a.max-a.min):void 0}}function xM(a,{top:i,left:o,bottom:l,right:u}){return{x:hg(a.x,o,u),y:hg(a.y,i,l)}}function pg(a,i){let o=i.min-a.min,l=i.max-a.max;return i.max-i.min<a.max-a.min&&([o,l]=[l,o]),{min:o,max:l}}function wM(a,i){return{x:pg(a.x,i.x),y:pg(a.y,i.y)}}function EM(a,i){let o=.5;const l=dt(a),u=dt(i);return u>l?o=Os(i.min,i.max-l,a.min):l>u&&(o=Os(a.min,a.max-u,i.min)),nn(0,1,o)}function OM(a,i){const o={};return i.min!==void 0&&(o.min=i.min-a.min),i.max!==void 0&&(o.max=i.max-a.min),o}const Qc=.35;function CM(a=Qc){return a===!1?a=0:a===!0&&(a=Qc),{x:_g(a,"left","right"),y:_g(a,"top","bottom")}}function _g(a,i,o){return{min:mg(a,i),max:mg(a,o)}}function mg(a,i){return typeof a=="number"?a:a[i]||0}const kM=new WeakMap;class RM{constructor(i){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Qe(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=i}start(i,{snapToCursor:o=!1,distanceThreshold:l}={}){const{presenceContext:u}=this.visualElement;if(u&&u.isPresent===!1)return;const d=v=>{o&&this.snapToCursor(zs(v).point),this.stopAnimation()},f=(v,b)=>{const{drag:x,dragPropagation:w,onDragStart:L}=this.getProps();if(x&&!w&&(this.openDragLock&&this.openDragLock(),this.openDragLock=ik(x),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Wt(B=>{let P=this.getAxisMotionValue(B).get()||0;if(tn.test(P)){const{projection:U}=this.visualElement;if(U&&U.layout){const H=U.layout.layoutBox[B];H&&(P=dt(H)*(parseFloat(P)/100))}}this.originPoint[B]=P}),L&&De.update(()=>L(v,b),!1,!0),Pc(this.visualElement,"transform");const{animationState:V}=this.visualElement;V&&V.setActive("whileDrag",!0)},h=(v,b)=>{this.latestPointerEvent=v,this.latestPanInfo=b;const{dragPropagation:x,dragDirectionLock:w,onDirectionLock:L,onDrag:V}=this.getProps();if(!x&&!this.openDragLock)return;const{offset:B}=b;if(w&&this.currentDirection===null){this.currentDirection=DM(B),this.currentDirection!==null&&L&&L(this.currentDirection);return}this.updateAxis("x",b.point,B),this.updateAxis("y",b.point,B),this.visualElement.render(),V&&De.update(()=>V(v,b),!1,!0)},m=(v,b)=>{this.latestPointerEvent=v,this.latestPanInfo=b,this.stop(v,b),this.latestPointerEvent=null,this.latestPanInfo=null},_=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:g}=this.getProps();this.panSession=new XT(i,{onSessionStart:d,onStart:f,onMove:h,onSessionEnd:m,resumeAnimation:_},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,distanceThreshold:l,contextWindow:$T(this.visualElement),element:this.visualElement.current})}stop(i,o){const l=i||this.latestPointerEvent,u=o||this.latestPanInfo,d=this.isDragging;if(this.cancel(),!d||!u||!l)return;const{velocity:f}=u;this.startAnimation(f);const{onDragEnd:h}=this.getProps();h&&De.postRender(()=>h(l,u))}cancel(){this.isDragging=!1;const{projection:i,animationState:o}=this.visualElement;i&&(i.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:l}=this.getProps();!l&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),o&&o.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(i,o,l){const{drag:u}=this.getProps();if(!l||!sl(i,u,this.currentDirection))return;const d=this.getAxisMotionValue(i);let f=this.originPoint[i]+l[i];this.constraints&&this.constraints[i]&&(f=AM(f,this.constraints[i],this.elastic[i])),d.set(f)}resolveConstraints(){const{dragConstraints:i,dragElastic:o}=this.getProps(),l=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,u=this.constraints;i&&da(i)?this.constraints||(this.constraints=this.resolveRefConstraints()):i&&l?this.constraints=xM(l.layoutBox,i):this.constraints=!1,this.elastic=CM(o),u!==this.constraints&&!da(i)&&l&&this.constraints&&!this.hasMutatedConstraints&&Wt(d=>{this.constraints!==!1&&this.getAxisMotionValue(d)&&(this.constraints[d]=OM(l.layoutBox[d],this.constraints[d]))})}resolveRefConstraints(){const{dragConstraints:i,onMeasureDragConstraints:o}=this.getProps();if(!i||!da(i))return!1;const l=i.current,{projection:u}=this.visualElement;if(!u||!u.layout)return!1;const d=Dk(l,u.root,this.visualElement.getTransformPagePoint());let f=wM(u.layout.layoutBox,d);if(o){const h=o(kk(f));this.hasMutatedConstraints=!!h,h&&(f=mT(h))}return f}startAnimation(i){const{drag:o,dragMomentum:l,dragElastic:u,dragTransition:d,dragSnapToOrigin:f,onDragTransitionEnd:h}=this.getProps(),m=this.constraints||{},_=Wt(g=>{if(!sl(g,o,this.currentDirection))return;let v=m&&m[g]||{};(f===!0||f===g)&&(v={min:0,max:0});const b=u?200:1e6,x=u?40:1e7,w={type:"inertia",velocity:l?i[g]:0,bounceStiffness:b,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...d,...v};return this.startAxisValueAnimation(g,w)});return Promise.all(_).then(h)}startAxisValueAnimation(i,o){const l=this.getAxisMotionValue(i);return Pc(this.visualElement,i),l.start(md(i,l,0,o,this.visualElement,!1))}stopAnimation(){Wt(i=>this.getAxisMotionValue(i).stop())}getAxisMotionValue(i){const o=`_drag${i.toUpperCase()}`,l=this.visualElement.getProps(),u=l[o];return u||this.visualElement.getValue(i,(l.initial?l.initial[i]:void 0)||0)}snapToCursor(i){Wt(o=>{const{drag:l}=this.getProps();if(!sl(o,l,this.currentDirection))return;const{projection:u}=this.visualElement,d=this.getAxisMotionValue(o);if(u&&u.layout){const{min:f,max:h}=u.layout.layoutBox[o],m=d.get()||0;d.set(i[o]-Ne(f,h,.5)+m)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:i,dragConstraints:o}=this.getProps(),{projection:l}=this.visualElement;if(!da(o)||!l||!this.constraints)return;this.stopAnimation();const u={x:0,y:0};Wt(f=>{const h=this.getAxisMotionValue(f);if(h&&this.constraints!==!1){const m=h.get();u[f]=EM({min:m,max:m},this.constraints[f])}});const{transformTemplate:d}=this.visualElement.getProps();this.visualElement.current.style.transform=d?d({},""):"none",l.root&&l.root.updateScroll(),l.updateLayout(),this.constraints=!1,this.resolveConstraints(),Wt(f=>{if(!sl(f,i,null))return;const h=this.getAxisMotionValue(f),{min:m,max:_}=this.constraints[f];h.set(Ne(m,_,u[f]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;kM.set(this.visualElement,this);const i=this.visualElement.current,o=ws(i,"pointerdown",_=>{const{drag:g,dragListener:v=!0}=this.getProps(),b=_.target,x=b!==i&&uk(b);g&&v&&!x&&this.start(_)});let l;const u=()=>{const{dragConstraints:_}=this.getProps();da(_)&&_.current&&(this.constraints=this.resolveRefConstraints(),l||(l=MM(i,_.current,()=>this.scalePositionWithinConstraints())))},{projection:d}=this.visualElement,f=d.addEventListener("measure",u);d&&!d.layout&&(d.root&&d.root.updateScroll(),d.updateLayout()),De.read(u);const h=Rs(window,"resize",()=>this.scalePositionWithinConstraints()),m=d.addEventListener("didUpdate",(({delta:_,hasLayoutChanged:g})=>{this.isDragging&&g&&(Wt(v=>{const b=this.getAxisMotionValue(v);b&&(this.originPoint[v]+=_[v].translate,b.set(b.get()+_[v].translate))}),this.visualElement.render())}));return()=>{h(),o(),f(),m&&m(),l&&l()}}getProps(){const i=this.visualElement.getProps(),{drag:o=!1,dragDirectionLock:l=!1,dragPropagation:u=!1,dragConstraints:d=!1,dragElastic:f=Qc,dragMomentum:h=!0}=i;return{...i,drag:o,dragDirectionLock:l,dragPropagation:u,dragConstraints:d,dragElastic:f,dragMomentum:h}}}function gg(a){let i=!0;return()=>{if(i){i=!1;return}a()}}function MM(a,i,o){const l=xm(a,gg(o)),u=xm(i,gg(o));return()=>{l(),u()}}function sl(a,i,o){return(i===!0||i===a)&&(o===null||o===a)}function DM(a,i=10){let o=null;return Math.abs(a.y)>i?o="y":Math.abs(a.x)>i&&(o="x"),o}class LM extends Wn{constructor(i){super(i),this.removeGroupControls=Pt,this.removeListeners=Pt,this.controls=new RM(i)}mount(){const{dragControls:i}=this.node.getProps();i&&(this.removeGroupControls=i.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Pt}update(){const{dragControls:i}=this.node.getProps(),{dragControls:o}=this.node.prevProps||{};i!==o&&(this.removeGroupControls(),i&&(this.removeGroupControls=i.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Sc=a=>(i,o)=>{a&&De.update(()=>a(i,o),!1,!0)};class zM extends Wn{constructor(){super(...arguments),this.removePointerDownListener=Pt}onPointerDown(i){this.session=new XT(i,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:$T(this.node)})}createPanHandlers(){const{onPanSessionStart:i,onPanStart:o,onPan:l,onPanEnd:u}=this.node.getProps();return{onSessionStart:Sc(i),onStart:Sc(o),onMove:Sc(l),onEnd:(d,f)=>{delete this.session,u&&De.postRender(()=>u(d,f))}}}mount(){this.removePointerDownListener=ws(this.node.current,"pointerdown",i=>this.onPointerDown(i))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Tc=!1;class NM extends Y.Component{componentDidMount(){const{visualElement:i,layoutGroup:o,switchLayoutGroup:l,layoutId:u}=this.props,{projection:d}=i;d&&(o.group&&o.group.add(d),l&&l.register&&u&&l.register(d),Tc&&d.root.didUpdate(),d.addEventListener("animationComplete",()=>{this.safeToRemove()}),d.setOptions({...d.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),_l.hasEverUpdated=!0}getSnapshotBeforeUpdate(i){const{layoutDependency:o,visualElement:l,drag:u,isPresent:d}=this.props,{projection:f}=l;return f&&(f.isPresent=d,i.layoutDependency!==o&&f.setOptions({...f.options,layoutDependency:o}),Tc=!0,u||i.layoutDependency!==o||o===void 0||i.isPresent!==d?f.willUpdate():this.safeToRemove(),i.isPresent!==d&&(d?f.promote():f.relegate()||De.postRender(()=>{const h=f.getStack();(!h||!h.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:i,layoutAnchor:o}=this.props,{projection:l}=i;l&&(l.options.layoutAnchor=o,l.root.didUpdate(),bd.postRender(()=>{!l.currentAnimation&&l.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:i,layoutGroup:o,switchLayoutGroup:l}=this.props,{projection:u}=i;Tc=!0,u&&(u.scheduleCheckAfterUnmount(),o&&o.group&&o.group.remove(u),l&&l.deregister&&l.deregister(u))}safeToRemove(){const{safeToRemove:i}=this.props;i&&i()}render(){return null}}function QT(a){const[i,o]=BT(),l=Y.useContext(ed);return st.jsx(NM,{...a,layoutGroup:l,switchLayoutGroup:Y.useContext(GT),isPresent:i,safeToRemove:o})}const jM={pan:{Feature:zM},drag:{Feature:LM,ProjectionNode:VT,MeasureLayout:QT}};function yg(a,i,o){const{props:l}=a;a.animationState&&l.whileHover&&a.animationState.setActive("whileHover",o==="Start");const u="onHover"+o,d=l[u];d&&De.postRender(()=>d(i,zs(i)))}class VM extends Wn{mount(){const{current:i}=this.node;i&&(this.unmount=sk(i,(o,l)=>(yg(this.node,l,"Start"),u=>yg(this.node,u,"End"))))}unmount(){}}class BM extends Wn{constructor(){super(...arguments),this.isActive=!1}onFocus(){let i=!1;try{i=this.node.current.matches(":focus-visible")}catch{i=!0}!i||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ms(Rs(this.node.current,"focus",()=>this.onFocus()),Rs(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function vg(a,i,o){const{props:l}=a;if(a.current instanceof HTMLButtonElement&&a.current.disabled)return;a.animationState&&l.whileTap&&a.animationState.setActive("whileTap",o==="Start");const u="onTap"+(o==="End"?"":o),d=l[u];d&&De.postRender(()=>d(i,zs(i)))}class UM extends Wn{mount(){const{current:i}=this.node;if(!i)return;const{globalTapTarget:o,propagate:l}=this.node.props;this.unmount=dk(i,(u,d)=>(vg(this.node,d,"Start"),(f,{success:h})=>vg(this.node,f,h?"End":"Cancel")),{useGlobalTarget:o,stopPropagation:l?.tap===!1})}unmount(){}}const Zc=new WeakMap,Ac=new WeakMap,HM=a=>{const i=Zc.get(a.target);i&&i(a)},PM=a=>{a.forEach(HM)};function KM({root:a,...i}){const o=a||document;Ac.has(o)||Ac.set(o,{});const l=Ac.get(o),u=JSON.stringify(i);return l[u]||(l[u]=new IntersectionObserver(PM,{root:a,...i})),l[u]}function qM(a,i,o){const l=KM(i);return Zc.set(a,o),l.observe(a),()=>{Zc.delete(a),l.unobserve(a)}}const YM={some:0,all:1};class GM extends Wn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:i={}}=this.node.getProps(),{root:o,margin:l,amount:u="some",once:d}=i,f={root:o?o.current:void 0,rootMargin:l,threshold:typeof u=="number"?u:YM[u]},h=m=>{const{isIntersecting:_}=m;if(this.isInView===_||(this.isInView=_,d&&!_&&this.hasEnteredView))return;_&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",_);const{onViewportEnter:g,onViewportLeave:v}=this.node.getProps(),b=_?g:v;b&&b(m)};this.stopObserver=qM(this.node.current,f,h)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:i,prevProps:o}=this.node;["amount","margin","root"].some(IM(i,o))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function IM({viewport:a={}},{viewport:i={}}={}){return o=>a[o]!==i[o]}const $M={inView:{Feature:GM},tap:{Feature:UM},focus:{Feature:BM},hover:{Feature:VM}},XM={layout:{ProjectionNode:VT,MeasureLayout:QT}},FM={...yM,...$M,...jM,...XM},gD=hM(FM,pM);function ZT(a,i){return!(a==="fn"||a==="meta"&&i==="windows")}function yD(a,i,o){return o&&ZT(a,i)?o:null}function QM({size:a=14}){return st.jsxs("svg",{width:a,height:a,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[st.jsx("path",{d:"M1 3.5l5.5-.75v5.5H1V3.5z"}),st.jsx("path",{d:"M7.5 2.5L15 1v7H7.5V2.5z"}),st.jsx("path",{d:"M1 9h5.5v5.5L1 13.5V9z"}),st.jsx("path",{d:"M7.5 9H15v7l-7.5-1.5V9z"})]})}function vD(a,i,o=14){return a==="fn"?null:i==="macos"?a==="ctrl"?"⌃":a==="shift"?"⇧":a==="alt"?"⌥":a==="meta"?st.jsx(GO,{size:o,strokeWidth:2.5}):null:a==="meta"?i==="windows"?st.jsx(QM,{size:o}):st.jsx($O,{size:Math.max(o-2,8),strokeWidth:2.5}):null}const ZM={Enter:"↵",Escape:"⎋",Tab:"⇥",Delete:"⌦",Space:"␣"};function bD(a){return ZM[a]??null}const bg={Space:"Space",Enter:"Enter",Escape:"Esc",Tab:"Tab",Backspace:"Backspace",Delete:"Del",CapsLock:"Caps",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→"};function SD(a,i){const o=TO(a);if(o){const l=ol(o,i),u=AO(a);return u&&ZT(o,i)?`${u==="left"?"Left":"Right"} ${l}`:l}return bg[a]?bg[a]:c1(a)}export{$C as $,mD as A,Ti as B,gD as C,yD as D,ol as E,Oc as F,c1 as G,vD as H,uD as I,WM as J,bD as K,SD as L,ZM as M,cD as N,oD as O,eD as P,De as Q,JM as R,iD as S,Zn as T,pD as U,f2 as V,fD as W,hD as X,Os as Y,g1 as Z,rl as _,kw as a,FC as a0,nn as a1,Pt as a2,xm as a3,at as a4,td as a5,f1 as a6,id as a7,ga as a8,hT as a9,Ek as aa,Gc as ab,QM as ac,$O as ad,ww as b,tD as c,nD as d,Wc as e,bO as f,Sg as g,vO as h,we as i,aD as j,_a as k,wi as l,dD as m,rD as n,st as o,xO as p,TO as q,Y as r,AO as s,sD as t,hO as u,OO as v,CO as w,RO as x,lD as y,SO as z};