Files
daywork/intern-log/dist/assets/index-DMG3WiLM.js
T

25 lines
289 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const f of l.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&s(f)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();/**
* @vue/shared v3.5.44
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ta(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ut={},Ar=[],En=()=>{},Au=()=>!1,Go=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yo=e=>e.startsWith("onUpdate:"),xt=Object.assign,Oa=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vf=Object.prototype.hasOwnProperty,st=(e,t)=>Vf.call(e,t),Re=Array.isArray,rr=e=>Rs(e)==="[object Map]",Bn=e=>Rs(e)==="[object Set]",Dl=e=>Rs(e)==="[object Date]",qe=e=>typeof e=="function",mt=e=>typeof e=="string",$n=e=>typeof e=="symbol",it=e=>e!==null&&typeof e=="object",Tu=e=>(it(e)||qe(e))&&qe(e.then)&&qe(e.catch),Ou=Object.prototype.toString,Rs=e=>Ou.call(e),Ff=e=>Rs(e).slice(8,-1),Pu=e=>Rs(e)==="[object Object]",Pa=e=>mt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ys=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Bf=/-\w/g,hn=Jo(e=>e.replace(Bf,t=>t.slice(1).toUpperCase())),Uf=/\B([A-Z])/g,cr=Jo(e=>e.replace(Uf,"-$1").toLowerCase()),Mu=Jo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Hi=Jo(e=>e?`on${Mu(e)}`:""),Cn=(e,t)=>!Object.is(e,t),xo=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Iu=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Xo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qf=e=>{const t=mt(e)?Number(e):NaN;return isNaN(t)?e:t};let jl;const Qo=()=>jl||(jl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sr(e){if(Re(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=mt(s)?Gf(s):sr(s);if(i)for(const l in i)t[l]=i[l]}return t}else if(mt(e)||it(e))return e}const Hf=/;(?![^(]*\))/g,Wf=/:([^]+)/,zf=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Gf(e){const t={};return e.replace(zf,n=>n.startsWith("/*")?"":n).split(Hf).forEach(n=>{if(n){const s=n.split(Wf);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Qe(e){let t="";if(mt(e))t=e;else if(Re(e))for(let n=0;n<e.length;n++){const s=Qe(e[n]);s&&(t+=s+" ")}else if(it(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Yf="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",Jf=Ta(Yf);function Du(e){return!!e||e===""}function Xf(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=Un(e[i],t[i],n);return s}function Kl(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const l of e){let f=-1;for(let p=0;p<s.length;p++)if(!i[p]&&Un(l,s[p],n)){f=p;break}if(f<0)return!1;i[f]=1}return!0}function Qf(e,t,n){let s=rr(e),i=rr(t);if(s||i||(s=Bn(e),i=Bn(t),s||i))return s&&i?Kl(e,t,n):!1;const l=Object.keys(e).length,f=Object.keys(t).length;if(l!==f)return!1;for(const p in e){const v=e.hasOwnProperty(p),b=t.hasOwnProperty(p);if(v&&!b||!v&&b||!Un(e[p],t[p],n))return!1}return String(e)===String(t)}function Rl(e,t,n,s){n||(n=[new Map,new Map]);const[i,l]=n;if(i.has(e)||l.has(t))return i.get(e)===t&&l.get(t)===e;i.set(e,t),l.set(t,e);const f=s(e,t,n);return i.delete(e),l.delete(t),f}function Un(e,t,n){if(e===t)return!0;let s=Dl(e),i=Dl(t);return s||i?s&&i?e.getTime()===t.getTime():!1:(s=$n(e),i=$n(t),s||i?e===t:(s=Re(e),i=Re(t),s||i?s&&i?Rl(e,t,n,Xf):!1:(s=it(e),i=it(t),s||i?!s||!i?!1:Rl(e,t,n,Qf):String(e)===String(t))))}function Ma(e,t){return e.findIndex(n=>Un(n,t))}const ju=e=>!!(e&&e.__v_isRef===!0),re=e=>mt(e)?e:e==null?"":Re(e)||it(e)&&(e.toString===Ou||!qe(e.toString))?ju(e)?re(e.value):JSON.stringify(e,Ku,2):String(e),Ku=(e,t)=>ju(t)?Ku(e,t.value):rr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],l)=>(n[Wi(s,l)+" =>"]=i,n),{})}:Bn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wi(n))}:$n(t)?Wi(t):it(t)&&!Re(t)&&!Pu(t)?String(t):t,Wi=(e,t="")=>{var n;return $n(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.44
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Mt;class Zf{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Mt&&(Mt.active?(this.parent=Mt,this.index=(Mt.scopes||(Mt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const i=this.scopes.slice();for(t=0,n=i.length;t<n;t++)i[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=Mt;try{return Mt=this,t()}finally{Mt=n}}}on(){++this._on===1&&(this.prevScope=Mt,Mt=this)}off(){if(this._on>0&&--this._on===0){if(Mt===this)Mt=this.prevScope;else{let t=Mt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(n=0,s=i.length;n<s;n++)i[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function ed(){return Mt}let ft;const zi=new WeakSet;class Ru{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Mt&&(Mt.active?Mt.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,zi.has(this)&&(zi.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Lu(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Nl(this),Vu(this);const t=ft,n=vn;ft=this,vn=!0;try{return this.fn()}finally{Fu(this),ft=t,vn=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ja(t);this.deps=this.depsTail=void 0,Nl(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?zi.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ia(this)&&this.run()}get dirty(){return ia(this)}}let Nu=0,gs,bs;function Lu(e,t=!1){if(e.flags|=8,t){e.next=bs,bs=e;return}e.next=gs,gs=e}function Ia(){Nu++}function Da(){if(--Nu>0)return;if(bs){let t=bs;for(bs=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;gs;){let t=gs;for(gs=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Vu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Fu(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),ja(s),td(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function ia(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Es)||(e.globalVersion=Es,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ia(e))))return;e.flags|=2;const t=e.dep,n=ft,s=vn;ft=e,vn=!0;try{Vu(e);const i=e.fn(e._value);(t.version===0||Cn(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{ft=n,vn=s,Fu(e),e.flags&=-3}}function ja(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)ja(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function td(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let vn=!0;const Uu=[];function An(){Uu.push(vn),vn=!1}function Tn(){const e=Uu.pop();vn=e===void 0?!0:e}function Nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ft;ft=void 0;try{t()}finally{ft=n}}}let Es=0;class nd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ka{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ft||!vn||ft===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ft)n=this.activeLink=new nd(ft,this),ft.deps?(n.prevDep=ft.depsTail,ft.depsTail.nextDep=n,ft.depsTail=n):ft.deps=ft.depsTail=n,qu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ft.depsTail,n.nextDep=void 0,ft.depsTail.nextDep=n,ft.depsTail=n,ft.deps===n&&(ft.deps=s)}return n}trigger(t){this.version++,Es++,this.notify(t)}notify(t){Ia();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Da()}}}function qu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)qu(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const aa=new WeakMap,Tr=Symbol(""),la=Symbol(""),$s=Symbol("");function Nt(e,t,n){if(vn&&ft){let s=aa.get(e);s||aa.set(e,s=new Map);let i=s.get(n);i||(s.set(n,i=new Ka),i.map=s,i.key=n),i.track()}}function Kn(e,t,n,s,i,l){const f=aa.get(e);if(!f){Es++;return}const p=v=>{v&&v.trigger()};if(Ia(),t==="clear")f.forEach(p);else{const v=Re(e),b=v&&Pa(n);if(v&&n==="length"){const y=Number(s);f.forEach((k,I)=>{(I==="length"||I===$s||!$n(I)&&I>=y)&&p(k)})}else switch((n!==void 0||f.has(void 0))&&p(f.get(n)),b&&p(f.get($s)),t){case"add":v?b&&p(f.get("length")):(p(f.get(Tr)),rr(e)&&p(f.get(la)));break;case"delete":v||(p(f.get(Tr)),rr(e)&&p(f.get(la)));break;case"set":rr(e)&&p(f.get(Tr));break}}Da()}function qr(e){const t=rt(e);return t===e||(Nt(t,"iterate",$s),ln(e))?t:On(e)?or(e)?t.map(n=>ir(un(n))):t.map(ir):t.map(un)}function Zo(e){return Nt(e=rt(e),"iterate",$s),e}function wn(e,t){return On(e)?ir(or(e)?un(t):t):un(t)}const rd={__proto__:null,[Symbol.iterator](){return Gi(this,Symbol.iterator,e=>wn(this,e))},concat(...e){return qr(this).concat(...e.map(t=>Re(t)?qr(t):t))},entries(){return Gi(this,"entries",e=>(e[1]=wn(this,e[1]),e))},every(e,t){return In(this,"every",e,t,void 0,arguments)},filter(e,t){return In(this,"filter",e,t,n=>n.map(s=>wn(this,s)),arguments)},find(e,t){return In(this,"find",e,t,n=>wn(this,n),arguments)},findIndex(e,t){return In(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return In(this,"findLast",e,t,n=>wn(this,n),arguments)},findLastIndex(e,t){return In(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return In(this,"forEach",e,t,void 0,arguments)},includes(...e){return Yi(this,"includes",e)},indexOf(...e){return Yi(this,"indexOf",e)},join(e){return qr(this).join(e)},lastIndexOf(...e){return Yi(this,"lastIndexOf",e)},map(e,t){return In(this,"map",e,t,void 0,arguments)},pop(){return fs(this,"pop")},push(...e){return fs(this,"push",e)},reduce(e,...t){return Vl(this,"reduce",e,t)},reduceRight(e,...t){return Vl(this,"reduceRight",e,t)},shift(){return fs(this,"shift")},some(e,t){return In(this,"some",e,t,void 0,arguments)},splice(...e){return fs(this,"splice",e)},toReversed(){return qr(this).toReversed()},toSorted(e){return qr(this).toSorted(e)},toSpliced(...e){return qr(this).toSpliced(...e)},unshift(...e){return fs(this,"unshift",e)},values(){return Gi(this,"values",e=>wn(this,e))}};function Gi(e,t,n){const s=Zo(e),i=s[t],l=i.call(s);if(s!==e&&!ln(e)){if(l[Symbol.toStringTag]==="Array Iterator"){const f=Object.create(Object.getPrototypeOf(l));return f.next=()=>Ll(l.next(),n),i!==Hu[t]&&Object.defineProperties(f,{return:{get(){const p=l.return;return typeof p=="function"?p.bind(l):p}},throw:{get(){const p=l.throw;return typeof p=="function"?p.bind(l):p}}}),f}l._next=l.next,l.next=()=>Ll(l._next(),n)}return l}function Ll(e,t){return e.done||(e.value=t(e.value)),e}const Hu=Array.prototype;function In(e,t,n,s,i,l){const f=Zo(e),p=f!==e&&!ln(e),v=f[t];if(v!==Hu[t]){const k=v.apply(e,l);return p?un(k):k}let b=n;f!==e&&(p?b=function(k,I){return n.call(this,wn(e,k),I,e)}:n.length>2&&(b=function(k,I){return n.call(this,k,I,e)}));const y=v.call(f,b,s);return p&&i?i(y):y}function Vl(e,t,n,s){const i=Zo(e),l=i!==e&&!ln(e);let f=n,p=!1;i!==e&&(l?(p=s.length===0,f=function(b,y,k){return p&&(p=!1,b=wn(e,b)),n.call(this,b,wn(e,y),k,e)}):n.length>3&&(f=function(b,y,k){return n.call(this,b,y,k,e)}));const v=i[t](f,...s);return p?wn(e,v):v}function Yi(e,t,n){const s=rt(e);Nt(s,"iterate",$s);const i=s[t](...n);return(i===-1||i===!1)&&Va(n[0])?(n[0]=rt(n[0]),s[t](...n)):i}function fs(e,t,n=[]){An(),Ia();const s=rt(e)[t].apply(e,n);return Da(),Tn(),s}const sd=Ta("__proto__,__v_isRef,__isVue"),Wu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($n));function od(e){$n(e)||(e=String(e));const t=rt(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class zu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return l;if(n==="__v_raw")return s===(i?l?vd:Xu:l?Ju:Yu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const f=Re(t);if(!i){let v;if(f&&(v=rd[n]))return v;if(n==="hasOwnProperty")return od}const p=Reflect.get(t,n,Vt(t)?t:s);if(($n(n)?Wu.has(n):sd(n))||(i||Nt(t,"get",n),l))return p;if(Vt(p)){const v=f&&Pa(n)?p:p.value;return i&&it(v)?ca(v):v}return it(p)?i?ca(p):Na(p):p}}class Gu extends zu{constructor(t=!1){super(!1,t)}set(t,n,s,i){let l=t[n];const f=Re(t)&&Pa(n);if(!this._isShallow){const b=On(l);if(!ln(s)&&!On(s)&&(l=rt(l),s=rt(s)),!f&&Vt(l)&&!Vt(s))return b||(l.value=s),!0}const p=f?Number(n)<t.length:st(t,n),v=Reflect.set(t,n,s,Vt(t)?t:i);return t===rt(i)&&v&&(p?Cn(s,l)&&Kn(t,"set",n,s):Kn(t,"add",n,s)),v}deleteProperty(t,n){const s=st(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&Kn(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!$n(n)||!Wu.has(n))&&Nt(t,"has",n),s}ownKeys(t){return Nt(t,"iterate",Re(t)?"length":Tr),Reflect.ownKeys(t)}}class id extends zu{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const ad=new Gu,ld=new id,ud=new Gu(!0);const ua=e=>e,mo=e=>Reflect.getPrototypeOf(e);function cd(e,t,n){return function(...s){const i=this.__v_raw,l=rt(i),f=rr(l),p=e==="entries"||e===Symbol.iterator&&f,v=e==="keys"&&f,b=i[e](...s),y=n?ua:t?ir:un;return!t&&Nt(l,"iterate",v?la:Tr),xt(Object.create(b),{next(){const{value:k,done:I}=b.next();return I?{value:k,done:I}:{value:p?[y(k[0]),y(k[1])]:y(k),done:I}}})}}function yo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function fd(e,t){const n={get(i){const l=this.__v_raw,f=rt(l),p=rt(i);e||(Cn(i,p)&&Nt(f,"get",i),Nt(f,"get",p));const{has:v}=mo(f),b=t?ua:e?ir:un;if(v.call(f,i))return b(l.get(i));if(v.call(f,p))return b(l.get(p));l!==f&&l.get(i)},get size(){const i=this.__v_raw;return!e&&Nt(rt(i),"iterate",Tr),i.size},has(i){const l=this.__v_raw,f=rt(l),p=rt(i);return e||(Cn(i,p)&&Nt(f,"has",i),Nt(f,"has",p)),i===p?l.has(i):l.has(i)||l.has(p)},forEach(i,l){const f=this,p=f.__v_raw,v=rt(p),b=t?ua:e?ir:un;return!e&&Nt(v,"iterate",Tr),p.forEach((y,k)=>i.call(l,b(y),b(k),f))}};return xt(n,e?{add:yo("add"),set:yo("set"),delete:yo("delete"),clear:yo("clear")}:{add(i){const l=rt(this),f=mo(l),p=rt(i),v=!t&&!ln(i)&&!On(i)?p:i;return f.has.call(l,v)||Cn(i,v)&&f.has.call(l,i)||Cn(p,v)&&f.has.call(l,p)||(l.add(v),Kn(l,"add",v,v)),this},set(i,l){!t&&!ln(l)&&!On(l)&&(l=rt(l));const f=rt(this),{has:p,get:v}=mo(f);let b=p.call(f,i);b||(i=rt(i),b=p.call(f,i));const y=v.call(f,i);return f.set(i,l),b?Cn(l,y)&&Kn(f,"set",i,l):Kn(f,"add",i,l),this},delete(i){const l=rt(this),{has:f,get:p}=mo(l);let v=f.call(l,i);v||(i=rt(i),v=f.call(l,i)),p&&p.call(l,i);const b=l.delete(i);return v&&Kn(l,"delete",i,void 0),b},clear(){const i=rt(this),l=i.size!==0,f=i.clear();return l&&Kn(i,"clear",void 0,void 0),f}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=cd(i,e,t)}),n}function Ra(e,t){const n=fd(e,t);return(s,i,l)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_isShallow"?t:i==="__v_raw"?s:Reflect.get(st(n,i)&&i in s?n:s,i,l)}const dd={get:Ra(!1,!1)},pd={get:Ra(!1,!0)},hd={get:Ra(!0,!1)};const Yu=new WeakMap,Ju=new WeakMap,Xu=new WeakMap,vd=new WeakMap;function md(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Na(e){return On(e)?e:La(e,!1,ad,dd,Yu)}function yd(e){return La(e,!1,ud,pd,Ju)}function ca(e){return La(e,!0,ld,hd,Xu)}function La(e,t,n,s,i){if(!it(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=i.get(e);if(l)return l;const f=md(Ff(e));if(f===0)return e;const p=new Proxy(e,f===2?s:n);return i.set(e,p),p}function or(e){return On(e)?or(e.__v_raw):!!(e&&e.__v_isReactive)}function On(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function Va(e){return e?!!e.__v_raw:!1}function rt(e){const t=e&&e.__v_raw;return t?rt(t):e}function gd(e){return!st(e,"__v_skip")&&Object.isExtensible(e)&&Iu(e,"__v_skip",!0),e}const un=e=>it(e)?Na(e):e,ir=e=>it(e)?ca(e):e;function Vt(e){return e?e.__v_isRef===!0:!1}function L(e){return bd(e,!1)}function bd(e,t){return Vt(e)?e:new _d(e,t)}class _d{constructor(t,n){this.dep=new Ka,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:rt(t),this._value=n?t:un(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ln(t)||On(t);t=s?t:rt(t),Cn(t,n)&&(this._rawValue=t,this._value=s?t:un(t),this.dep.trigger())}}function nn(e){return Vt(e)?e.value:e}const wd={get:(e,t,n)=>t==="__v_raw"?e:nn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return Vt(i)&&!Vt(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Qu(e){return or(e)?e:new Proxy(e,wd)}class kd{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ka(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Es-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ft!==this)return Lu(this,!0),!0}get value(){const t=this.dep.track();return Bu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function xd(e,t,n=!1){let s,i;return qe(e)?s=e:(s=e.get,i=e.set),new kd(s,i,n)}const go={},To=new WeakMap;let Cr;function Cd(e,t=!1,n=Cr){if(n){let s=To.get(n);s||To.set(n,s=[]),s.push(e)}}function Sd(e,t,n=ut){const{immediate:s,deep:i,once:l,scheduler:f,augmentJob:p,call:v}=n,b=Y=>i?Y:ln(Y)||i===!1||i===0?Rn(Y,1):Rn(Y);let y,k,I,D,N=!1,G=!1;if(Vt(e)?(k=()=>e.value,N=ln(e)):or(e)?(k=()=>b(e),N=!0):Re(e)?(G=!0,N=e.some(Y=>or(Y)||ln(Y)),k=()=>e.map(Y=>{if(Vt(Y))return Y.value;if(or(Y))return b(Y);if(qe(Y))return v?v(Y,2):Y()})):qe(e)?t?k=v?()=>v(e,2):e:k=()=>{if(I){An();try{I()}finally{Tn()}}const Y=Cr;Cr=y;try{return v?v(e,3,[D]):e(D)}finally{Cr=Y}}:k=En,t&&i){const Y=k,ae=i===!0?1/0:i;k=()=>Rn(Y(),ae)}const fe=ed(),ee=()=>{y.stop(),fe&&fe.active&&Oa(fe.effects,y)};if(l&&t){const Y=t;t=(...ae)=>{try{return Y(...ae)}finally{ee()}}}let E=G?new Array(e.length).fill(go):go;const j=Y=>{if(!(!(y.flags&1)||!y.dirty&&!Y))if(t){const ae=y.run();if(Y||i||N||(G?ae.some((ie,oe)=>Cn(ie,E[oe])):Cn(ae,E))){const ie=Cr;An();try{I&&I(),Cr=y;const oe=[ae,E===go?void 0:G&&E[0]===go?[]:E,D];E=ae,v?v(t,3,oe):t(...oe)}finally{Cr=ie,Tn()}}}else y.run()};return p&&p(j),y=new Ru(k),y.scheduler=f?()=>f(j,!1):j,D=Y=>Cd(Y,!1,y),I=y.onStop=()=>{const Y=To.get(y);if(Y){if(v)v(Y,4);else for(const ae of Y)ae();To.delete(y)}},t?s?j(!0):E=y.run():f?f(j.bind(null,!0),!0):y.run(),ee.pause=y.pause.bind(y),ee.resume=y.resume.bind(y),ee.stop=ee,ee}function Rn(e,t=1/0,n){if(t<=0||!it(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Vt(e))Rn(e.value,t,n);else if(Re(e))for(let s=0;s<e.length;s++)Rn(e[s],t,n);else if(Bn(e)||rr(e))e.forEach(s=>{Rn(s,t,n)});else if(Pu(e)){for(const s in e)Rn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Rn(e[s],t,n)}return e}/**
* @vue/runtime-core v3.5.44
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ns(e,t,n,s){try{return s?e(...s):e()}catch(i){ei(i,t,n)}}function cn(e,t,n,s){if(qe(e)){const i=Ns(e,t,n,s);return i&&Tu(i)&&i.catch(l=>{ei(l,t,n)}),i}if(Re(e)){const i=[];for(let l=0;l<e.length;l++)i.push(cn(e[l],t,n,s));return i}}function ei(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:f}=t&&t.appContext.config||ut;if(t){let p=t.parent;const v=t.proxy,b=`https://vuejs.org/error-reference/#runtime-${n}`;for(;p;){const y=p.ec;if(y){for(let k=0;k<y.length;k++)if(y[k](e,v,b)===!1)return}p=p.parent}if(l){An(),Ns(l,null,10,[e,v,b]),Tn();return}}Ed(e,n,i,s,f)}function Ed(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const zt=[];let pn=-1;const kn=[];let tr=null,Hr=0;const Zu=Promise.resolve();let Oo=null;function Zr(e){const t=Oo||Zu;return e?t.then(this?e.bind(this):e):t}function $d(e){let t=pn+1,n=zt.length;for(;t<n;){const s=t+n>>>1,i=zt[s],l=As(i);l<e||l===e&&i.flags&2?t=s+1:n=s}return t}function Fa(e){if(!(e.flags&1)){const t=As(e),n=zt[zt.length-1];!n||!(e.flags&2)&&t>=As(n)?zt.push(e):zt.splice($d(t),0,e),e.flags|=1,ec()}}function ec(){Oo||(Oo=Zu.then(rc))}function Ad(e){if(!Re(e))tr&&e.id===-1?tr.splice(Hr+1,0,e):e.flags&1||(kn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)kn.push(e[t]);ec()}function tc(e,t,n,s=pn+1){for(;s<zt.length;s++){const i=zt[s];if(i&&i.flags&2){if(e&&i.id!==e.uid||t!==void 0&&!(i.id>=t))continue;zt.splice(s,1),s=e?s-1:pn,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function nc(e,t,n=0){if(kn.length){let s=kn,i=0;if(t){s=[];for(let f=0;f<kn.length;f++){const p=kn[f];(p.i!==void 0?!p.i||p.i.uid<n:t.has(p))?kn[i++]=p:s.push(p)}}const l=[...new Set(s)].sort((f,p)=>As(f)-As(p));if(kn.length=i,tr){for(let f=0;f<l.length;f++)tr.push(l[f]);return}for(tr=l,Hr=0;Hr<tr.length;Hr++){const f=tr[Hr];f.flags&4&&(f.flags&=-2),f.flags&8||f(),f.flags&=-2}tr=null,Hr=0}}let Ji=!1;function Td(e,t){if(Ji){e();return}const n=t===void 0?void 0:new Set(kn);e(),Ji=!0;try{tc(void 0,t),nc(void 0,n,t)}finally{Ji=!1}}const As=e=>e.id==null?e.flags&2?-1:1/0:e.id;function rc(e){try{for(pn=0;pn<zt.length;pn++){const t=zt[pn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ns(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;pn<zt.length;pn++){const t=zt[pn];t&&(t.flags&=-2)}pn=-1,zt.length=0,nc(),Oo=null,(zt.length||kn.length)&&rc()}}let an=null,sc=null;function Po(e){const t=an;return an=e,sc=e&&e.type.__scopeId||null,t}function fr(e,t=an,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&jo(-1);const l=Po(t),f=Or.length;let p;try{p=e(...i)}finally{for(let v=Or.length;v>f;v--)Mc();Po(l),s._d&&jo(1)}return p};return s._n=!0,s._c=!0,s._d=!0,s}function Ae(e,t){if(an===null)return e;const n=ii(an),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[l,f,p,v=ut]=t[i];l&&(qe(l)&&(l={mounted:l,updated:l}),l.deep&&Rn(f),s.push({dir:l,instance:n,value:f,oldValue:void 0,arg:p,modifiers:v}))}return e}function wr(e,t,n,s){const i=e.dirs,l=t&&t.dirs;for(let f=0;f<i.length;f++){const p=i[f];l&&(p.oldValue=l[f].value);let v=p.dir[s];v&&(An(),cn(v,n,8,[e.el,p,e,t]),Tn())}}function Od(e,t){if(Gt){let n=Gt.provides;const s=Gt.parent&&Gt.parent.provides;s===n&&(n=Gt.provides=Object.create(s)),n[e]=t}}function Co(e,t,n=!1){const s=Wa();if(s||zr){let i=zr?zr._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&qe(t)?t.call(s&&s.proxy):t}}const Pd=Symbol.for("v-scx"),Md=()=>Co(Pd);function vt(e,t,n){return oc(e,t,n)}function oc(e,t,n=ut){const{immediate:s,deep:i,flush:l,once:f}=n,p=xt({},n),v=t&&s||!t&&l!=="post";let b;if(Ds){if(l==="sync"){const D=Md();b=D.__watcherHandles||(D.__watcherHandles=[])}else if(!v){const D=()=>{};return D.stop=En,D.resume=En,D.pause=En,D}}const y=Gt;p.call=(D,N,G)=>cn(D,y,N,G);let k=!1;l==="post"?p.scheduler=D=>{D.i=y,Wt(D,y&&y.suspense)}:l!=="sync"&&(k=!0,p.scheduler=(D,N)=>{N?D():Fa(D)}),p.augmentJob=D=>{t&&(D.flags|=4),k&&(D.flags|=2,y&&(D.id=y.uid,D.i=y))};const I=Sd(e,t,p);return Ds&&(b?b.push(I):v&&I()),I}function Id(e,t,n){const s=this.proxy,i=mt(e)?e.includes(".")?ic(s,e):()=>s[e]:e.bind(s,s);let l;qe(t)?l=t:(l=t.handler,n=t);const f=Vs(this),p=oc(i,l.bind(s),n);return f(),p}function ic(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}const Zn=new WeakMap,ac=Symbol("_vte"),ti=e=>e.__isTeleport,Er=e=>e&&(e.disabled||e.disabled===""),Dd=e=>e&&(e.defer||e.defer===""),Fl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,fa=(e,t)=>{const n=e&&e.to;return mt(n)?t?t(n):null:n},jd={name:"Teleport",__isTeleport:!0,process(e,t,n,s,i,l,f,p,v,b){const{mc:y,pc:k,pbc:I,o:{insert:D,querySelector:N,createText:G,createComment:fe,parentNode:ee}}=b,E=Er(t.props);let{dynamicChildren:j}=t;const Y=(oe,R,$)=>{oe.shapeFlag&16&&y(oe.children,R,$,i,l,f,p,v)},ae=(oe=t)=>{const R=Er(oe.props),$=oe.target=fa(oe.props,N),le=da($,oe,G,D);$&&(f!=="svg"&&Fl($)?f="svg":f!=="mathml"&&Bl($)&&(f="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add($),R||(Y(oe,$,le),hs(oe,!1)))},ie=oe=>{const R=()=>{if(Zn.get(oe)===R){if(Zn.delete(oe),Er(oe.props)){const $=ee(oe.el)||n;Y(oe,$,oe.anchor),hs(oe,!0)}ae(oe)}};Zn.set(oe,R),Wt(R,l)};if(e==null){const oe=t.el=G(""),R=t.anchor=G("");if(D(oe,n,s),D(R,n,s),Dd(t.props)||l&&l.pendingBranch){ie(t);return}E&&(Y(t,n,R),hs(t,!0)),ae()}else{t.el=e.el;const oe=t.anchor=e.anchor,R=Zn.get(e);if(R){R.flags|=8,Zn.delete(e),ie(t);return}t.targetStart=e.targetStart;const $=t.target=e.target,le=t.targetAnchor=e.targetAnchor,Ee=Er(e.props),J=Ee?n:$,xe=Ee?oe:le;if(f==="svg"||Fl($)?f="svg":(f==="mathml"||Bl($))&&(f="mathml"),j?(I(e.dynamicChildren,j,J,i,l,f,p),Ha(e,t,!0)):v||k(e,t,J,xe,i,l,f,p,!1),E)Ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):bo(t,n,oe,b,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Fe=fa(t.props,N);Fe&&(t.target=Fe,bo(t,Fe,null,b,0))}else Ee&&bo(t,$,le,b,1);hs(t,E)}},remove(e,t,n,{um:s,o:{remove:i}},l){const{shapeFlag:f,children:p,anchor:v,targetStart:b,targetAnchor:y,target:k,props:I}=e,D=Er(I),N=l||!D,G=Zn.get(e);if(G&&(G.flags|=8,Zn.delete(e)),k&&(i(b),i(y)),l&&i(v),!G&&(D||k)&&f&16)for(let fe=0;fe<p.length;fe++){const ee=p[fe];s(ee,t,n,N,!!ee.dynamicChildren)}},move:bo,hydrate:Kd};function bo(e,t,n,{o:{insert:s},m:i},l=2){l===0&&(e.targetStart&&s(e.targetStart,t,n),s(e.targetAnchor,t,n),n=e.targetAnchor);const{el:f,anchor:p,shapeFlag:v,children:b,props:y}=e,k=l===2;if(k&&s(f,t,n),!Zn.has(e)&&(!k||Er(y))&&v&16)for(let I=0;I<b.length;I++)i(b[I],t,n,2);k&&s(p,t,n)}function Kd(e,t,n,s,i,l,{o:{nextSibling:f,parentNode:p,querySelector:v,insert:b,createText:y}},k){function I(fe,ee){let E=ee;for(;E;){if(E&&E.nodeType===8){if(E.data==="teleport start anchor")t.targetStart=E;else if(E.data==="teleport anchor"){t.targetAnchor=E,fe._lpa=t.targetAnchor&&f(t.targetAnchor);break}}E=f(E)}}function D(fe,ee){ee.anchor=k(f(fe),ee,p(fe),n,s,i,l)}const N=t.target=fa(t.props,v),G=Er(t.props);if(N){const fe=N._lpa||N.firstChild;t.shapeFlag&16&&(G?(D(e,t),I(N,fe),t.targetAnchor||da(N,t,y,b,p(e)===N?e:null)):(t.anchor=f(e),I(N,fe),t.targetAnchor||da(N,t,y,b),k(fe&&f(fe),t,N,n,s,i,l))),hs(t,G)}else G&&t.shapeFlag&16&&(D(e,t),t.targetStart=e,t.targetAnchor=f(e));return t.anchor&&f(t.anchor)}const Ls=jd;function hs(e,t){const n=e.ctx;if(n&&n.ut){let s,i;for(t?(s=e.el,i=e.anchor):(s=e.targetStart,i=e.targetAnchor);s&&s!==i;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function da(e,t,n,s,i=null){const l=t.targetStart=n(""),f=t.targetAnchor=n("");return l[ac]=f,e&&(s(l,e,i),s(f,e,i)),f}const on=Symbol("_leaveCb"),ds=Symbol("_enterCb");function lc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return fn(()=>{e.isMounted=!0}),vc(()=>{e.isUnmounting=!0}),e}const sn=[Function,Array],uc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:sn,onEnter:sn,onAfterEnter:sn,onEnterCancelled:sn,onBeforeLeave:sn,onLeave:sn,onAfterLeave:sn,onLeaveCancelled:sn,onBeforeAppear:sn,onAppear:sn,onAfterAppear:sn,onAppearCancelled:sn},Rd={name:"BaseTransition",props:uc,setup(e,{slots:t}){const n=Wa(),s=lc();return()=>{const i=t.default&&Ba(t.default(),!0),l=i&&i.length?cc(i):n.subTree?$e():void 0;if(!l)return;const f=rt(e),{mode:p}=f;if(s.isLeaving)return Xi(l);const v=Mo(l);if(!v)return Xi(l);let b=Ts(v,f,s,n,k=>b=k);v.type!==Lt&&ar(v,b);let y=n.subTree&&Mo(n.subTree);if(y&&y.type!==Lt&&!$r(y,v)&&Os(n.subTree)){let k=Ts(y,f,s,n);if(ar(y,k),p==="out-in"&&v.type!==Lt)return s.isLeaving=!0,k.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete k.afterLeave,y=void 0},Xi(l);p==="in-out"&&v.type!==Lt?k.delayLeave=(I,D,N)=>{const G=fc(s,y);G[String(y.key)]=y,I[on]=()=>{D(),I[on]=void 0,delete b.delayedLeave,y=void 0},b.delayedLeave=()=>{N(),delete b.delayedLeave,y=void 0}}:y=void 0}else y&&(y=void 0);return l}}};function cc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Lt){t=n;break}}return t}const Nd=Rd;function fc(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ts(e,t,n,s,i){const{appear:l,mode:f,persisted:p=!1,onBeforeEnter:v,onEnter:b,onAfterEnter:y,onEnterCancelled:k,onBeforeLeave:I,onLeave:D,onAfterLeave:N,onLeaveCancelled:G,onBeforeAppear:fe,onAppear:ee,onAfterAppear:E,onAppearCancelled:j}=t,Y=String(e.key),ae=fc(n,e),ie=($,le)=>{$&&cn($,s,9,le)},oe=($,le)=>{const Ee=le[1];ie($,le),Re($)?$.every(J=>J.length<=1)&&Ee():$.length<=1&&Ee()},R={mode:f,persisted:p,beforeEnter($){let le=v;if(!n.isMounted)if(l)le=fe||v;else return;$[on]&&$[on](!0);const Ee=ae[Y];if(Ee&&$r(e,Ee)){let J=Ee.el[on];if(!J){const xe=Os(Ee);J=xe&&xe.el[on]}J&&J()}ie(le,[$])},enter($){if(ae[Y]===e)return;let le=b,Ee=y,J=k;if(!n.isMounted)if(l)le=ee||b,Ee=E||y,J=j||k;else return;let xe=!1;$[ds]=tt=>{xe||(xe=!0,tt?ie(J,[$]):ie(Ee,[$]),R.delayedLeave&&R.delayedLeave(),$[ds]=void 0)};const Fe=$[ds].bind(null,!1);le?oe(le,[$,Fe]):Fe()},leave($,le){const Ee=String(e.key);if($[ds]&&$[ds](!0),n.isUnmounting)return le();ie(I,[$]);let J=!1;$[on]=Fe=>{J||(J=!0,le(),Fe?ie(G,[$]):ie(N,[$]),$[on]=void 0,ae[Ee]===e&&delete ae[Ee])};const xe=$[on].bind(null,!1);ae[Ee]=e,D?oe(D,[$,xe]):xe()},clone($){const le=Ts($,t,n,s,i);return i&&i(le),le}};return R}function Xi(e){if(ni(e))return e=lr(e),e.children=null,e}function Mo(e){if(!ni(e))return ti(e.type)&&e.children?cc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&qe(n.default))return n.default()}}function ar(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;ar(ti(n.type)&&Mo(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===Ke&&Re(e.children)){const n=_c(e.children,!1);n&&ar(n,t)}}function Ba(e,t=!1,n){let s=[],i=0;for(let l=0;l<e.length;l++){let f=e[l];const p=n==null?f.key:String(n)+String(f.key!=null?f.key:l);f.type===Ke?(f.patchFlag&128&&i++,s=s.concat(Ba(f.children,t,p))):(t||f.type!==Lt)&&s.push(p!=null?lr(f,{key:p}):f)}if(i>1)for(let l=0;l<s.length;l++)s[l].patchFlag=-2;return s}function Os(e){if(e.component)return Os(e.component.subTree);if(e.type===Ke){const t=Re(e.children)&&_c(e.children,!1);return t?Os(t):void 0}if(e.type!==Lt)return e}function Ft(e,t){return qe(e)?xt({name:e.name},t,{setup:e}):e}function dc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ul(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Io=new WeakMap;function _s(e,t,n,s,i=!1){if(Re(e)){e.forEach((G,fe)=>_s(G,t&&(Re(t)?t[fe]:t),n,s,i));return}if(ws(s)&&!i){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&_s(e,t,n,s.component.subTree);return}const l=s.shapeFlag&4?ii(s.component):s.el,f=i?null:l,{i:p,r:v}=e,b=t&&t.r,y=p.refs===ut?p.refs={}:p.refs,k=p.setupState,I=rt(k),D=k===ut?Au:G=>Ul(y,G)?!1:st(I,G),N=(G,fe)=>!(fe&&Ul(y,fe));if(b!=null&&b!==v){if(ql(t),mt(b))y[b]=null,D(b)&&(k[b]=null);else if(Vt(b)){const G=t;N(b,G.k)&&(b.value=null),G.k&&(y[G.k]=null)}}if(qe(v))Ns(v,p,12,[f,y]);else{const G=mt(v),fe=Vt(v);if(G||fe){const ee=()=>{if(e.f){const E=G?D(v)?k[v]:y[v]:N()||!e.k?v.value:y[e.k];if(i)Re(E)&&Oa(E,l);else if(Re(E))E.includes(l)||E.push(l);else if(G)y[v]=[l],D(v)&&(k[v]=y[v]);else{const j=[l];N(v,e.k)&&(v.value=j),e.k&&(y[e.k]=j)}}else G?(y[v]=f,D(v)&&(k[v]=f)):fe&&(N(v,e.k)&&(v.value=f),e.k&&(y[e.k]=f))};if(f){const E=()=>{ee(),Io.delete(e)};E.id=-1,Io.set(e,E),Wt(E,n)}else ql(e),ee()}}}function ql(e){const t=Io.get(e);t&&(t.flags|=8,Io.delete(e))}Qo().requestIdleCallback;Qo().cancelIdleCallback;const ws=e=>!!e.type.__asyncLoader,ni=e=>e.type.__isKeepAlive;function Ld(e,t){pc(e,"a",t)}function Vd(e,t){pc(e,"da",t)}function pc(e,t,n=Gt){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(ri(t,s,n),n){let i=n.parent;for(;i&&i.parent;)ni(i.parent.vnode)&&Fd(s,t,n,i),i=i.parent}}function Fd(e,t,n,s){const i=ri(t,e,s,!0);dr(()=>{Oa(s[t],i)},n)}function ri(e,t,n=Gt,s=!1){if(n){const i=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...f)=>{An();const p=Vs(n),v=cn(t,n,e,f);return p(),Tn(),v});return s?i.unshift(l):i.push(l),l}}const qn=e=>(t,n=Gt)=>{(!Ds||e==="sp")&&ri(e,(...s)=>t(...s),n)},Bd=qn("bm"),fn=qn("m"),Ud=qn("bu"),hc=qn("u"),vc=qn("bum"),dr=qn("um"),qd=qn("sp"),Hd=qn("rtg"),Wd=qn("rtc");function zd(e,t=Gt){ri("ec",e,t)}const Gd=Symbol.for("v-ndc");function lt(e,t,n,s){let i;const l=n,f=Re(e);if(f||mt(e)){const p=f&&or(e);let v=!1,b=!1;p&&(v=!ln(e),b=On(e),e=Zo(e)),i=new Array(e.length);for(let y=0,k=e.length;y<k;y++)i[y]=t(v?b?ir(un(e[y])):un(e[y]):e[y],y,void 0,l)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)i=[];else{i=new Array(e);for(let p=0;p<e;p++)i[p]=t(p+1,p,void 0,l)}else if(it(e))if(e[Symbol.iterator])i=Array.from(e,(p,v)=>t(p,v,void 0,l));else{const p=Object.keys(e);i=new Array(p.length);for(let v=0,b=p.length;v<b;v++){const y=p[v];i[v]=t(e[y],y,v,l)}}else i=[];return i}const pa=e=>e?Kc(e)?ii(e):pa(e.parent):null,ks=xt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>pa(e.parent),$root:e=>pa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>yc(e),$forceUpdate:e=>e.f||(e.f=()=>{Fa(e.update)}),$nextTick:e=>e.n||(e.n=Zr.bind(e.proxy)),$watch:e=>Id.bind(e)}),Qi=(e,t)=>e!==ut&&!e.__isScriptSetup&&st(e,t),Yd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:l,accessCache:f,type:p,appContext:v}=e;if(t[0]!=="$"){const I=f[t];if(I!==void 0)switch(I){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return l[t]}else{if(Qi(s,t))return f[t]=1,s[t];if(i!==ut&&st(i,t))return f[t]=2,i[t];if(st(l,t))return f[t]=3,l[t];if(n!==ut&&st(n,t))return f[t]=4,n[t];ha&&(f[t]=0)}}const b=ks[t];let y,k;if(b)return t==="$attrs"&&Nt(e.attrs,"get",""),b(e);if((y=p.__cssModules)&&(y=y[t]))return y;if(n!==ut&&st(n,t))return f[t]=4,n[t];if(k=v.config.globalProperties,st(k,t))return k[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:l}=e;return Qi(i,t)?(i[t]=n,!0):s!==ut&&st(s,t)?(s[t]=n,!0):st(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,props:l,type:f}},p){let v;return!!(n[p]||e!==ut&&p[0]!=="$"&&st(e,p)||Qi(t,p)||st(l,p)||st(s,p)||st(ks,p)||st(i.config.globalProperties,p)||(v=f.__cssModules)&&v[p])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:st(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Hl(e){return Re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ha=!0;function Jd(e){const t=yc(e),n=e.proxy,s=e.ctx;ha=!1,t.beforeCreate&&Wl(t.beforeCreate,e,"bc");const{data:i,computed:l,methods:f,watch:p,provide:v,inject:b,created:y,beforeMount:k,mounted:I,beforeUpdate:D,updated:N,activated:G,deactivated:fe,beforeDestroy:ee,beforeUnmount:E,destroyed:j,unmounted:Y,render:ae,renderTracked:ie,renderTriggered:oe,errorCaptured:R,serverPrefetch:$,expose:le,inheritAttrs:Ee,components:J,directives:xe,filters:Fe}=t;if(b&&Xd(b,s,null),f)for(const Ge in f){const _e=f[Ge];qe(_e)&&(s[Ge]=_e.bind(n))}if(i){const Ge=i.call(n,n);it(Ge)&&(e.data=Na(Ge))}if(ha=!0,l)for(const Ge in l){const _e=l[Ge],je=qe(_e)?_e.bind(n,n):qe(_e.get)?_e.get.bind(n,n):En,et=!qe(_e)&&qe(_e.set)?_e.set.bind(n):En,ge=ot({get:je,set:et});Object.defineProperty(s,Ge,{enumerable:!0,configurable:!0,get:()=>ge.value,set:Q=>ge.value=Q})}if(p)for(const Ge in p)mc(p[Ge],s,n,Ge);if(v){const Ge=qe(v)?v.call(n):v;Reflect.ownKeys(Ge).forEach(_e=>{Od(_e,Ge[_e])})}y&&Wl(y,e,"c");function Be(Ge,_e){Re(_e)?_e.forEach(je=>Ge(je.bind(n))):_e&&Ge(_e.bind(n))}if(Be(Bd,k),Be(fn,I),Be(Ud,D),Be(hc,N),Be(Ld,G),Be(Vd,fe),Be(zd,R),Be(Wd,ie),Be(Hd,oe),Be(vc,E),Be(dr,Y),Be(qd,$),Re(le))if(le.length){const Ge=e.exposed||(e.exposed={});le.forEach(_e=>{Object.defineProperty(Ge,_e,{get:()=>n[_e],set:je=>n[_e]=je,enumerable:!0})})}else e.exposed||(e.exposed={});ae&&e.render===En&&(e.render=ae),Ee!=null&&(e.inheritAttrs=Ee),J&&(e.components=J),xe&&(e.directives=xe),$&&dc(e)}function Xd(e,t,n=En){Re(e)&&(e=va(e));for(const s in e){const i=e[s];let l;it(i)?"default"in i?l=Co(i.from||s,i.default,!0):l=Co(i.from||s):l=Co(i),Vt(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:f=>l.value=f}):t[s]=l}}function Wl(e,t,n){cn(Re(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mc(e,t,n,s){let i=s.includes(".")?ic(n,s):()=>n[s];if(mt(e)){const l=t[e];qe(l)&&vt(i,l)}else if(qe(e))vt(i,e.bind(n));else if(it(e))if(Re(e))e.forEach(l=>mc(l,t,n,s));else{const l=qe(e.handler)?e.handler.bind(n):t[e.handler];qe(l)&&vt(i,l,e)}}function yc(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:l,config:{optionMergeStrategies:f}}=e.appContext,p=l.get(t);let v;return p?v=p:!i.length&&!n&&!s?v=t:(v={},i.length&&i.forEach(b=>Do(v,b,f,!0)),Do(v,t,f)),it(t)&&l.set(t,v),v}function Do(e,t,n,s=!1){const{mixins:i,extends:l}=t;l&&Do(e,l,n,!0),i&&i.forEach(f=>Do(e,f,n,!0));for(const f in t)if(!(s&&f==="expose")){const p=Qd[f]||n&&n[f];e[f]=p?p(e[f],t[f]):t[f]}return e}const Qd={data:zl,props:Gl,emits:Gl,methods:vs,computed:vs,beforeCreate:Ht,created:Ht,beforeMount:Ht,mounted:Ht,beforeUpdate:Ht,updated:Ht,beforeDestroy:Ht,beforeUnmount:Ht,destroyed:Ht,unmounted:Ht,activated:Ht,deactivated:Ht,errorCaptured:Ht,serverPrefetch:Ht,components:vs,directives:vs,watch:ep,provide:zl,inject:Zd};function zl(e,t){return t?e?function(){return xt(qe(e)?e.call(this,this):e,qe(t)?t.call(this,this):t)}:t:e}function Zd(e,t){return vs(va(e),va(t))}function va(e){if(Re(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ht(e,t){return e?[...new Set([].concat(e,t))]:t}function vs(e,t){return e?xt(Object.create(null),e,t):t}function Gl(e,t){return e?Re(e)&&Re(t)?[...new Set([...e,...t])]:xt(Object.create(null),Hl(e),Hl(t??{})):t}function ep(e,t){if(!e)return t;if(!t)return e;const n=xt(Object.create(null),e);for(const s in t)n[s]=Ht(e[s],t[s]);return n}function gc(){return{app:null,config:{isNativeTag:Au,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let tp=0;function np(e,t){return function(s,i=null){qe(s)||(s=xt({},s)),i!=null&&!it(i)&&(i=null);const l=gc(),f=new WeakSet,p=[];let v=!1;const b=l.app={_uid:tp++,_component:s,_props:i,_container:null,_context:l,_instance:null,version:Dp,get config(){return l.config},set config(y){},use(y,...k){return f.has(y)||(y&&qe(y.install)?(f.add(y),y.install(b,...k)):qe(y)&&(f.add(y),y(b,...k))),b},mixin(y){return l.mixins.includes(y)||l.mixins.push(y),b},component(y,k){return k?(l.components[y]=k,b):l.components[y]},directive(y,k){return k?(l.directives[y]=k,b):l.directives[y]},mount(y,k,I){if(!v){const D=b._ceVNode||Me(s,i);return D.appContext=l,I===!0?I="svg":I===!1&&(I=void 0),e(D,y,I),v=!0,b._container=y,y.__vue_app__=b,ii(D.component)}},onUnmount(y){p.push(y)},unmount(){v&&(cn(p,b._instance,16),e(null,b._container),delete b._container.__vue_app__)},provide(y,k){return l.provides[y]=k,b},runWithContext(y){const k=zr;zr=b;try{return y()}finally{zr=k}}};return b}}let zr=null;const rp=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${hn(t)}Modifiers`]||e[`${cr(t)}Modifiers`];function sp(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ut;let i=n;const l=t.startsWith("update:"),f=l&&rp(s,t.slice(7));f&&(f.trim&&(i=n.map(y=>mt(y)?y.trim():y)),f.number&&(i=i.map(Xo)));let p,v=s[p=Hi(t)]||s[p=Hi(hn(t))];!v&&l&&(v=s[p=Hi(cr(t))]),v&&cn(v,e,6,i);const b=s[p+"Once"];if(b){if(!e.emitted)e.emitted={};else if(e.emitted[p])return;e.emitted[p]=!0,cn(b,e,6,i)}}const op=new WeakMap;function bc(e,t,n=!1){const s=n?op:t.emitsCache,i=s.get(e);if(i!==void 0)return i;const l=e.emits;let f={},p=!1;if(!qe(e)){const v=b=>{const y=bc(b,t,!0);y&&(p=!0,xt(f,y))};!n&&t.mixins.length&&t.mixins.forEach(v),e.extends&&v(e.extends),e.mixins&&e.mixins.forEach(v)}return!l&&!p?(it(e)&&s.set(e,null),null):(Re(l)?l.forEach(v=>f[v]=null):xt(f,l),it(e)&&s.set(e,f),f)}function si(e,t){return!e||!Go(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),st(e,t[0].toLowerCase()+t.slice(1))||st(e,cr(t))||st(e,t))}function Yl(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[l],slots:f,attrs:p,emit:v,render:b,renderCache:y,props:k,data:I,setupState:D,ctx:N,inheritAttrs:G}=e,fe=Po(e);let ee,E;try{if(n.shapeFlag&4){const Y=i||s,ae=Y;ee=xn(b.call(ae,Y,y,k,D,I,N)),E=p}else{const Y=t;ee=xn(Y.length>1?Y(k,{attrs:p,slots:f,emit:v}):Y(k,null)),E=t.props?p:ip(p)}}catch(Y){Or.length=0,ei(Y,e,1),ee=Me(Lt)}let j=ee;if(E&&G!==!1){const Y=Object.keys(E),{shapeFlag:ae}=j;Y.length&&ae&7&&(l&&Y.some(Yo)&&(E=ap(E,l)),j=lr(j,E,!1,!0))}if(n.dirs&&(j=lr(j,null,!1,!0),j.dirs=j.dirs?j.dirs.concat(n.dirs):n.dirs),n.transition){const Y=ti(j.type)&&Mo(j)||j;ar(Y,n.transition)}return ee=j,Po(fe),ee}function _c(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(Ms(i)){if(i.type!==Lt||i.children==="v-if"){if(n)return;n=i}}else return}return n}const ip=e=>{let t;for(const n in e)(n==="class"||n==="style"||Go(n))&&((t||(t={}))[n]=e[n]);return t},ap=(e,t)=>{const n={};for(const s in e)(!Yo(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function lp(e,t,n){const{props:s,children:i,component:l}=e,{props:f,children:p,patchFlag:v}=t,b=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&v>=0){if(v&1024)return!0;if(v&16)return s?Jl(s,f,b):!!f;if(v&8){const y=t.dynamicProps;for(let k=0;k<y.length;k++){const I=y[k];if(wc(f,s,I)&&!si(b,I))return!0}}}else return(i||p)&&(!p||!p.$stable)?!0:s===f?!1:s?f?Jl(s,f,b):!0:!!f;return!1}function Jl(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const l=s[i];if(!st(e,l)||wc(t,e,l)&&!si(n,l))return!0}return!1}function wc(e,t,n){const s=e[n],i=t[n];return n==="style"&&it(s)&&it(i)?!Un(s,i):s!==i}function up({vnode:e,parent:t,suspense:n},s){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=s,e=i),i===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const kc={},xc=()=>Object.create(kc),Cc=e=>Object.getPrototypeOf(e)===kc;function cp(e,t,n,s=!1){const i={},l=xc();e.propsDefaults=Object.create(null),Sc(e,t,i,l);for(const f in e.propsOptions[0])f in i||(i[f]=void 0);n?e.props=s?i:yd(i):e.type.props?e.props=i:e.props=l,e.attrs=l}function fp(e,t,n,s){const{props:i,attrs:l,vnode:{patchFlag:f}}=e,p=rt(i),[v]=e.propsOptions;let b=!1;if((s||f>0)&&!(f&16)){if(f&8){const y=e.vnode.dynamicProps;for(let k=0;k<y.length;k++){let I=y[k];if(si(e.emitsOptions,I))continue;const D=t[I];if(v)if(st(l,I))D!==l[I]&&(l[I]=D,b=!0);else{const N=hn(I);i[N]=ma(v,p,N,D,e,!1)}else D!==l[I]&&(l[I]=D,b=!0)}}}else{Sc(e,t,i,l)&&(b=!0);let y;for(const k in p)(!t||!st(t,k)&&((y=cr(k))===k||!st(t,y)))&&(v?n&&(n[k]!==void 0||n[y]!==void 0)&&(i[k]=ma(v,p,k,void 0,e,!0)):delete i[k]);if(l!==p)for(const k in l)(!t||!st(t,k))&&(delete l[k],b=!0)}b&&Kn(e.attrs,"set","")}function Sc(e,t,n,s){const[i,l]=e.propsOptions;let f=!1,p;if(t)for(let v in t){if(ys(v))continue;const b=t[v];let y;i&&st(i,y=hn(v))?!l||!l.includes(y)?n[y]=b:(p||(p={}))[y]=b:si(e.emitsOptions,v)||(!(v in s)||b!==s[v])&&(s[v]=b,f=!0)}if(l){const v=rt(n),b=p||ut;for(let y=0;y<l.length;y++){const k=l[y];n[k]=ma(i,v,k,b[k],e,!st(b,k))}}return f}function ma(e,t,n,s,i,l){const f=e[n];if(f!=null){const p=st(f,"default");if(p&&s===void 0){const v=f.default;if(f.type!==Function&&!f.skipFactory&&qe(v)){const{propsDefaults:b}=i;if(n in b)s=b[n];else{const y=Vs(i);s=b[n]=v.call(null,t),y()}}else s=v;i.ce&&i.ce._setProp(n,s)}f[0]&&(l&&!p?s=!1:f[1]&&(s===""||s===cr(n))&&(s=!0))}return s}const dp=new WeakMap;function Ec(e,t,n=!1){const s=n?dp:t.propsCache,i=s.get(e);if(i)return i;const l=e.props,f={},p=[];let v=!1;if(!qe(e)){const y=k=>{v=!0;const[I,D]=Ec(k,t,!0);xt(f,I),D&&p.push(...D)};!n&&t.mixins.length&&t.mixins.forEach(y),e.extends&&y(e.extends),e.mixins&&e.mixins.forEach(y)}if(!l&&!v)return it(e)&&s.set(e,Ar),Ar;if(Re(l))for(let y=0;y<l.length;y++){const k=hn(l[y]);Xl(k)&&(f[k]=ut)}else if(l)for(const y in l){const k=hn(y);if(Xl(k)){const I=l[y],D=f[k]=Re(I)||qe(I)?{type:I}:xt({},I),N=D.type;let G=!1,fe=!0;if(Re(N))for(let ee=0;ee<N.length;++ee){const E=N[ee],j=qe(E)&&E.name;if(j==="Boolean"){G=!0;break}else j==="String"&&(fe=!1)}else G=qe(N)&&N.name==="Boolean";D[0]=G,D[1]=fe,(G||st(D,"default"))&&p.push(k)}}const b=[f,p];return it(e)&&s.set(e,b),b}function Xl(e){return e[0]!=="$"&&!ys(e)}const Ua=e=>e==="_"||e==="_ctx"||e==="$stable",qa=e=>Re(e)?e.map(xn):[xn(e)],pp=(e,t,n)=>{if(t._n)return t;const s=fr((...i)=>qa(t(...i)),n);return s._c=!1,s},$c=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Ua(i))continue;const l=e[i];if(qe(l))t[i]=pp(i,l,s);else if(l!=null){const f=qa(l);t[i]=()=>f}}},Ac=(e,t)=>{const n=qa(t);e.slots.default=()=>n},Tc=(e,t,n)=>{for(const s in t)(n||!Ua(s))&&(e[s]=t[s])},hp=(e,t,n)=>{const s=e.slots=xc();if(e.vnode.shapeFlag&32){const i=t._;i?(Tc(s,t,n),n&&Iu(s,"_",i,!0)):$c(t,s)}else t&&Ac(e,t)},vp=(e,t,n)=>{const{vnode:s,slots:i}=e;let l=!0,f=ut;if(s.shapeFlag&32){const p=t._;p?n&&p===1?l=!1:Tc(i,t,n):(l=!t.$stable,$c(t,i)),f=t}else t&&(Ac(e,t),f={default:1});if(l)for(const p in i)!Ua(p)&&f[p]==null&&delete i[p]},Wt=_p;function mp(e){return yp(e)}function yp(e,t){const n=Qo();n.__VUE__=!0;const{insert:s,remove:i,patchProp:l,createElement:f,createText:p,createComment:v,setText:b,setElementText:y,parentNode:k,nextSibling:I,setScopeId:D=En,insertStaticContent:N}=e,G=(m,w,H,ue=null,se=null,Z=null,we=void 0,me=null,ke=!!w.dynamicChildren)=>{if(m===w)return;m&&!$r(m,w)&&(ue=Et(m),Q(m,se,Z,!0),m=null),w.patchFlag===-2&&(ke=!1,w.dynamicChildren=null),w.dynamicChildren&&m&&m.dynamicChildren&&m.dynamicChildren.hasOnce&&(w.dynamicChildren===Ar&&(w.dynamicChildren=[]),w.dynamicChildren.hasOnce=!0);const{type:q,ref:B,shapeFlag:z}=w;switch(q){case oi:fe(m,w,H,ue);break;case Lt:ee(m,w,H,ue);break;case So:m==null&&E(w,H,ue,we);break;case Ke:J(m,w,H,ue,se,Z,we,me,ke);break;default:z&1?ae(m,w,H,ue,se,Z,we,me,ke):z&6?xe(m,w,H,ue,se,Z,we,me,ke):(z&64||z&128)&&q.process(m,w,H,ue,se,Z,we,me,ke,Bt)}B!=null&&se?_s(B,m&&m.ref,Z,w||m,!w):B==null&&m&&m.ref!=null&&_s(m.ref,null,Z,m,!0)},fe=(m,w,H,ue)=>{if(m==null)s(w.el=p(w.children),H,ue);else{const se=w.el=m.el;w.children!==m.children&&b(se,w.children)}},ee=(m,w,H,ue)=>{m==null?s(w.el=v(w.children||""),H,ue):w.el=m.el},E=(m,w,H,ue)=>{[m.el,m.anchor]=N(m.children,w,H,ue,m.el,m.anchor)},j=({el:m,anchor:w},H,ue)=>{let se;for(;m&&m!==w;)se=I(m),s(m,H,ue),m=se;s(w,H,ue)},Y=({el:m,anchor:w})=>{let H;for(;m&&m!==w;)H=I(m),i(m),m=H;i(w)},ae=(m,w,H,ue,se,Z,we,me,ke)=>{if(w.type==="svg"?we="svg":w.type==="math"&&(we="mathml"),m==null)ie(w,H,ue,se,Z,we,me,ke);else{const q=m.el&&m.el._isVueCE?m.el:null;try{q&&q._beginPatch(),$(m,w,se,Z,we,me,ke)}finally{q&&q._endPatch()}}},ie=(m,w,H,ue,se,Z,we,me)=>{let ke,q;const{props:B,shapeFlag:z,transition:Te,dirs:Ne}=m;if(ke=m.el=f(m.type,Z,B&&B.is,B),z&8?y(ke,m.children):z&16&&R(m.children,ke,null,ue,se,Zi(m,Z),we,me),Ne&&wr(m,null,ue,"created"),oe(ke,m,m.scopeId,we,ue),B){for(const We in B)We!=="value"&&!ys(We)&&l(ke,We,null,B[We],Z,ue);"value"in B&&l(ke,"value",null,B.value,Z),(q=B.onVnodeBeforeMount)&&gn(q,ue,m)}Ne&&wr(m,null,ue,"beforeMount");const Ye=gp(se,Te);Ye&&Te.beforeEnter(ke),s(ke,w,H),((q=B&&B.onVnodeMounted)||Ye||Ne)&&Wt(()=>{try{q&&gn(q,ue,m),Ye&&Te.enter(ke),Ne&&wr(m,null,ue,"mounted")}finally{}},se)},oe=(m,w,H,ue,se)=>{if(H&&D(m,H),ue)for(let Z=0;Z<ue.length;Z++)D(m,ue[Z]);if(se){let Z=se.subTree;if(w===Z||Pc(Z.type)&&(Z.ssContent===w||Z.ssFallback===w)){const we=se.vnode;oe(m,we,we.scopeId,we.slotScopeIds,se.parent)}}},R=(m,w,H,ue,se,Z,we,me,ke=0)=>{for(let q=ke;q<m.length;q++){const B=m[q]=me?jn(m[q]):xn(m[q]);G(null,B,w,H,ue,se,Z,we,me)}},$=(m,w,H,ue,se,Z,we)=>{const me=w.el=m.el;let{patchFlag:ke,dynamicChildren:q,dirs:B}=w;ke|=m.patchFlag&16;const z=m.props||ut,Te=w.props||ut;let Ne;if(H&&kr(H,!1),(Ne=Te.onVnodeBeforeUpdate)&&gn(Ne,H,w,m),B&&wr(w,m,H,"beforeUpdate"),H&&kr(H,!0),q&&(!m.dynamicChildren||m.dynamicChildren.length!==q.length)&&(ke=0,we=!1,q=null),(z.innerHTML&&Te.innerHTML==null||z.textContent&&Te.textContent==null)&&y(me,""),q?le(m.dynamicChildren,q,me,H,ue,Zi(w,se),Z):we||_e(m,w,me,null,H,ue,Zi(w,se),Z,!1),ke>0){if(ke&16)Ee(me,z,Te,H,se);else if(ke&2&&z.class!==Te.class&&l(me,"class",null,Te.class,se),ke&4&&l(me,"style",z.style,Te.style,se),ke&8){const Ye=w.dynamicProps;for(let We=0;We<Ye.length;We++){const Je=Ye[We],dt=z[Je],gt=Te[Je];(gt!==dt||Je==="value")&&l(me,Je,dt,gt,se,H)}}ke&1&&m.children!==w.children&&y(me,w.children)}else!we&&q==null&&Ee(me,z,Te,H,se);((Ne=Te.onVnodeUpdated)||B)&&Wt(()=>{Ne&&gn(Ne,H,w,m),B&&wr(w,m,H,"updated")},ue)},le=(m,w,H,ue,se,Z,we)=>{for(let me=0;me<w.length;me++){const ke=m[me],q=w[me],B=ke.el||ya(ke),z=B&&(ke.type===Ke||!$r(ke,q)||ke.shapeFlag&198)?k(B):H;G(ke,q,z,null,ue,se,Z,we,!0)}},Ee=(m,w,H,ue,se)=>{if(w!==H){if(w!==ut)for(const Z in w)!ys(Z)&&!(Z in H)&&l(m,Z,w[Z],null,se,ue);for(const Z in H){if(ys(Z))continue;const we=H[Z],me=w[Z];we!==me&&Z!=="value"&&l(m,Z,me,we,se,ue)}"value"in H&&l(m,"value",w.value,H.value,se)}},J=(m,w,H,ue,se,Z,we,me,ke)=>{const q=w.el=m?m.el:p(""),B=w.anchor=m?m.anchor:p("");let{patchFlag:z,dynamicChildren:Te,slotScopeIds:Ne}=w;Ne&&(me=me?me.concat(Ne):Ne),m==null?(s(q,H,ue),s(B,H,ue),R(w.children||[],H,B,se,Z,we,me,ke)):z>0&&z&64&&Te&&m.dynamicChildren&&m.dynamicChildren.length===Te.length?(le(m.dynamicChildren,Te,H,se,Z,we,me),(w.key!=null||se&&w===se.subTree)&&Ha(m,w,!0)):_e(m,w,H,B,se,Z,we,me,ke)},xe=(m,w,H,ue,se,Z,we,me,ke)=>{w.slotScopeIds=me,m==null?w.shapeFlag&512?se.ctx.activate(w,H,ue,we,ke):Fe(w,H,ue,se,Z,we,ke):tt(m,w,ke)},Fe=(m,w,H,ue,se,Z,we)=>{const me=m.component=$p(m,ue,se);if(ni(m)&&(me.ctx.renderer=Bt),Ap(me,!1,we),me.asyncDep){if(se&&se.registerDep(me,Be,we,Z),!m.el){const ke=me.subTree=Me(Lt);ee(null,ke,w,H),m.placeholder=ke.el}}else Be(me,m,w,H,se,Z,we)},tt=(m,w,H)=>{const ue=w.component=m.component;if(lp(m,w,H))if(ue.asyncDep&&!ue.asyncResolved){w.el=m.el,w.placeholder=m.placeholder,Ge(ue,w,H);return}else ue.next=w,ue.update();else w.el=m.el,w.placeholder=m.placeholder,ue.vnode=w},Be=(m,w,H,ue,se,Z,we)=>{const me=()=>{if(m.isMounted){let{next:z,bu:Te,u:Ne,parent:Ye,vnode:We}=m;{const Ut=Oc(m);if(Ut){z&&(z.el=We.el,Ge(m,z,we)),Ut.asyncDep.then(()=>{Wt(()=>{m.isUnmounted||q()},se)});return}}let Je=z,dt;kr(m,!1),z?(z.el=We.el,Ge(m,z,we)):z=We,Te&&xo(Te),(dt=z.props&&z.props.onVnodeBeforeUpdate)&&gn(dt,Ye,z,We),kr(m,!0);const gt=Yl(m),Xt=m.subTree;m.subTree=gt,G(Xt,gt,k(Xt.el),Et(Xt),m,se,Z),z.el=gt.el,Je===null&&up(m,gt.el),Ne&&Wt(Ne,se),(dt=z.props&&z.props.onVnodeUpdated)&&Wt(()=>gn(dt,Ye,z,We),se)}else{let z;const{el:Te,props:Ne}=w,{bm:Ye,m:We,parent:Je,root:dt,type:gt}=m,Xt=ws(w);kr(m,!1),Ye&&xo(Ye),!Xt&&(z=Ne&&Ne.onVnodeBeforeMount)&&gn(z,Je,w),kr(m,!0);{dt.ce&&dt.ce._hasShadowRoot()&&dt.ce._injectChildStyle(gt,m.parent?m.parent.type:void 0);const Ut=m.subTree=Yl(m);G(null,Ut,H,ue,m,se,Z),w.el=Ut.el}if(We&&Wt(We,se),!Xt&&(z=Ne&&Ne.onVnodeMounted)){const Ut=w;Wt(()=>gn(z,Je,Ut),se)}(w.shapeFlag&256||Je&&ws(Je.vnode)&&Je.vnode.shapeFlag&256)&&m.a&&Wt(m.a,se),m.isMounted=!0,w=H=ue=null}};m.scope.on();const ke=m.effect=new Ru(me);m.scope.off();const q=m.update=ke.run.bind(ke),B=m.job=ke.runIfDirty.bind(ke);B.i=m,B.id=m.uid,ke.scheduler=()=>Fa(B),kr(m,!0),q()},Ge=(m,w,H)=>{w.component=m;const ue=m.vnode.props;m.vnode=w,m.next=null,fp(m,w.props,ue,H),vp(m,w.children,H),An(),tc(m),Tn()},_e=(m,w,H,ue,se,Z,we,me,ke=!1)=>{const q=m&&m.children,B=m?m.shapeFlag:0,z=w.children,{patchFlag:Te,shapeFlag:Ne}=w;if(Te>0){if(Te&128){et(q,z,H,ue,se,Z,we,me,ke);return}else if(Te&256){je(q,z,H,ue,se,Z,we,me,ke);return}}Ne&8?(B&16&&Ct(q,se,Z),z!==q&&y(H,z)):B&16?Ne&16?et(q,z,H,ue,se,Z,we,me,ke):Ct(q,se,Z,!0):(B&8&&y(H,""),Ne&16&&R(z,H,ue,se,Z,we,me,ke))},je=(m,w,H,ue,se,Z,we,me,ke)=>{m=m||Ar,w=w||Ar;const q=m.length,B=w.length,z=Math.min(q,B);let Te;for(Te=0;Te<z;Te++){const Ne=w[Te]=ke?jn(w[Te]):xn(w[Te]);G(m[Te],Ne,H,null,se,Z,we,me,ke)}q>B?Ct(m,se,Z,!0,!1,z):R(w,H,ue,se,Z,we,me,ke,z)},et=(m,w,H,ue,se,Z,we,me,ke)=>{let q=0;const B=w.length;let z=m.length-1,Te=B-1;for(;q<=z&&q<=Te;){const Ne=m[q],Ye=w[q]=ke?jn(w[q]):xn(w[q]);if($r(Ne,Ye))G(Ne,Ye,H,null,se,Z,we,me,ke);else break;q++}for(;q<=z&&q<=Te;){const Ne=m[z],Ye=w[Te]=ke?jn(w[Te]):xn(w[Te]);if($r(Ne,Ye))G(Ne,Ye,H,null,se,Z,we,me,ke);else break;z--,Te--}if(q>z){if(q<=Te){const Ne=Te+1,Ye=Ne<B?w[Ne].el:ue;for(;q<=Te;)G(null,w[q]=ke?jn(w[q]):xn(w[q]),H,Ye,se,Z,we,me,ke),q++}}else if(q>Te)for(;q<=z;)Q(m[q],se,Z,!0),q++;else{const Ne=q,Ye=q,We=new Map;for(q=Ye;q<=Te;q++){const Pt=w[q]=ke?jn(w[q]):xn(w[q]);Pt.key!=null&&We.set(Pt.key,q)}let Je,dt=0;const gt=Te-Ye+1;let Xt=!1,Ut=0;const Qt=new Array(gt);for(q=0;q<gt;q++)Qt[q]=0;for(q=Ne;q<=z;q++){const Pt=m[q];if(dt>=gt){Q(Pt,se,Z,!0);continue}let St;if(Pt.key!=null)St=We.get(Pt.key);else for(Je=Ye;Je<=Te;Je++)if(Qt[Je-Ye]===0&&$r(Pt,w[Je])){St=Je;break}St===void 0?Q(Pt,se,Z,!0):(Qt[St-Ye]=q+1,St>=Ut?Ut=St:Xt=!0,G(Pt,w[St],H,null,se,Z,we,me,ke),dt++)}const pr=Xt?bp(Qt):Ar;for(Je=pr.length-1,q=gt-1;q>=0;q--){const Pt=Ye+q,St=w[Pt],Ie=w[Pt+1],Hn=Pt+1<B?Ie.el||ya(Ie):ue;Qt[q]===0?G(null,St,H,Hn,se,Z,we,me,ke):Xt&&(Je<0||q!==pr[Je]?ge(St,H,Hn,2):Je--)}}},ge=(m,w,H,ue,se=null)=>{const{el:Z,type:we,transition:me,children:ke,shapeFlag:q}=m;if(q&6){ge(m.component.subTree,w,H,ue);return}if(q&128){m.suspense.move(w,H,ue);return}if(q&64){we.move(m,w,H,Bt);return}if(we===Ke){s(Z,w,H);for(let z=0;z<ke.length;z++)ge(ke[z],w,H,ue);s(m.anchor,w,H);return}if(we===So){j(m,w,H);return}if(ue!==2&&q&1&&me)if(ue===0)me.persisted&&!Z[on]?s(Z,w,H):(me.beforeEnter(Z),s(Z,w,H),Wt(()=>me.enter(Z),se));else{const{leave:z,delayLeave:Te,afterLeave:Ne}=me,Ye=()=>{m.ctx.isUnmounted?i(Z):s(Z,w,H)},We=()=>{const Je=Z._isLeaving||!!Z[on];Z._isLeaving&&Z[on](!0),me.persisted&&!Je?Ye():z(Z,()=>{Ye(),Ne&&Ne()})};Te?Te(Z,Ye,We):We()}else s(Z,w,H)},Q=(m,w,H,ue=!1,se=!1)=>{const{type:Z,props:we,ref:me,children:ke,dynamicChildren:q,shapeFlag:B,patchFlag:z,dirs:Te,cacheIndex:Ne,memo:Ye}=m;if((z===-2||q&&q.hasOnce)&&(se=!1),me!=null&&(An(),_s(me,null,H,m,!0),Tn()),Ne!=null&&(!m.ctx||m.ctx===w)&&(w.renderCache[Ne]=void 0),B&256){w.ctx.deactivate(m);return}const We=B&1&&Te,Je=!ws(m);let dt;if(Je&&(dt=we&&we.onVnodeBeforeUnmount)&&gn(dt,w,m),B&6)At(m.component,H,ue);else{if(B&128){m.suspense.unmount(H,ue);return}We&&wr(m,null,w,"beforeUnmount"),B&64?m.type.remove(m,w,H,Bt,ue):q&&!q.hasOnce&&(Z!==Ke||z>0&&z&64)?Ct(q,w,H,!1,!0):(Z===Ke&&z&384||!se&&B&16)&&Ct(ke,w,H),ue&&X(m)}const gt=Ye!=null&&Ne==null;(Je&&(dt=we&&we.onVnodeUnmounted)||We||gt)&&Wt(()=>{dt&&gn(dt,w,m),We&&wr(m,null,w,"unmounted"),gt&&(m.el=null)},H)},X=m=>{const{type:w,el:H,anchor:ue,transition:se}=m,Z=w===Ke;if(Z&&!se){Ce(H,ue);return}if(w===So){Y(m),se&&!se.persisted&&se.afterLeave&&se.afterLeave();return}const we=Z?Os(m):m,me=()=>{Z?k(H)&&Ce(H,ue):i(H),se&&!se.persisted&&se.afterLeave&&se.afterLeave()};if(we&&we.shapeFlag&1&&se&&!se.persisted){const{leave:ke,delayLeave:q}=se,B=we.el,z=()=>ke(B,me);q?q(B,me,z):z()}else me()},Ce=(m,w)=>{let H;for(;m!==w;)H=I(m),i(m),m=H;i(w)},At=(m,w,H)=>{const{bum:ue,scope:se,job:Z,subTree:we,um:me,m:ke,a:q}=m;Ql(ke),Ql(q),ue&&xo(ue),se.stop(),Z?(Z.flags|=8,Q(we,m,w,H)):m.vnode.el&&we&&(we.transition=m.vnode.transition,Q(we,m,w,H)),me&&Wt(me,w),Wt(()=>{m.isUnmounted=!0},w)},Ct=(m,w,H,ue=!1,se=!1,Z=0)=>{for(let we=Z;we<m.length;we++)Q(m[we],w,H,ue,se)},Et=m=>{if(m.shapeFlag&6)return Et(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const w=I(m.anchor||m.el),H=w&&w[ac];return H?I(H):w},Jt=(m,w,H)=>{const ue=m&&w._vnode?void 0:m&&m.component?m.component.uid:Ep();Td(()=>{m==null?w._vnode&&Q(w._vnode,null,null,!0):G(w._vnode||null,m,w,null,null,null,H),w._vnode=m},ue)},Bt={p:G,um:Q,m:ge,r:X,mt:Fe,mc:R,pc:_e,pbc:le,n:Et,o:e};return{render:Jt,hydrate:void 0,createApp:np(Jt)}}function Zi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function kr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function gp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ha(e,t,n=!1){const s=e.children,i=t.children;if(Re(s)&&Re(i))for(let l=0;l<s.length;l++){const f=s[l];let p=i[l];p.shapeFlag&1&&!p.dynamicChildren&&((p.patchFlag<=0||p.patchFlag===32)&&(p=i[l]=jn(i[l]),p.el=f.el),!n&&p.patchFlag!==-2&&Ha(f,p)),p.type===oi&&(p.patchFlag===-1&&(p=i[l]=jn(p)),p.el=f.el),p.type===Lt&&!p.el&&(p.el=f.el)}}function bp(e){const t=e.slice(),n=[0];let s,i,l,f,p;const v=e.length;for(s=0;s<v;s++){const b=e[s];if(b!==0){if(i=n[n.length-1],e[i]<b){t[s]=i,n.push(s);continue}for(l=0,f=n.length-1;l<f;)p=l+f>>1,e[n[p]]<b?l=p+1:f=p;b<e[n[l]]&&(l>0&&(t[s]=n[l-1]),n[l]=s)}}for(l=n.length,f=n[l-1];l-- >0;)n[l]=f,f=t[f];return n}function Oc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oc(t)}function Ql(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ya(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ya(t.subTree):null}const Pc=e=>e.__isSuspense;function _p(e,t){t&&t.pendingBranch?Re(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Ke=Symbol.for("v-fgt"),oi=Symbol.for("v-txt"),Lt=Symbol.for("v-cmt"),So=Symbol.for("v-stc"),Or=[];let rn=null;function K(e=!1){Or.push(rn=e?null:[])}function Mc(){Or.pop(),rn=Or[Or.length-1]||null}let Ps=1;function jo(e,t=!1){Ps+=e,e<0&&rn&&t&&(rn.hasOnce=!0)}function Ic(e){return e.dynamicChildren=Ps>0?rn||Ar:null,Mc(),Ps>0&&rn&&rn.push(e),e}function U(e,t,n,s,i,l){return Ic(u(e,t,n,s,i,l,!0))}function It(e,t,n,s,i){return Ic(Me(e,t,n,s,i,!0))}function Ms(e){return e?e.__v_isVNode===!0:!1}function $r(e,t){return e.type===t.type&&e.key===t.key}const Dc=({key:e})=>e??null,Eo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?mt(e)||Vt(e)||qe(e)?{i:an,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,s=0,i=null,l=e===Ke?0:1,f=!1,p=!1){const v={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Dc(t),ref:t&&Eo(t),scopeId:sc,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:an};return p?(Ko(v,n),l&128&&e.normalize(v)):n&&(v.shapeFlag|=mt(n)?8:16),Ps>0&&!f&&rn&&(v.patchFlag>0||l&6)&&v.patchFlag!==32&&rn.push(v),v}const Me=wp;function wp(e,t=null,n=null,s=0,i=null,l=!1){if((!e||e===Gd)&&(e=Lt),Ms(e)){const p=lr(e,t,!0);return n&&Ko(p,n),Ps>0&&!l&&rn&&(p.shapeFlag&6?rn[rn.indexOf(e)]=p:rn.push(p)),p.patchFlag=-2,p}if(Mp(e)&&(e=e.__vccOpts),t){t=kp(t);let{class:p,style:v}=t;p&&!mt(p)&&(t.class=Qe(p)),it(v)&&(Va(v)&&!Re(v)&&(v=xt({},v)),t.style=sr(v))}const f=mt(e)?1:Pc(e)?128:ti(e)?64:it(e)?4:qe(e)?2:0;return u(e,t,n,s,i,f,l,!0)}function kp(e){return e?Va(e)||Cc(e)?xt({},e):e:null}function lr(e,t,n=!1,s=!1){const{props:i,ref:l,patchFlag:f,children:p,transition:v}=e,b=t?Cp(i||{},t):i,y={__v_isVNode:!0,__v_skip:!0,type:e.type,props:b,key:b&&Dc(b),ref:t&&t.ref?n&&l?Re(l)?l.concat(Eo(t)):[l,Eo(t)]:Eo(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:p,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?f===-1?16:f|16:f,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:v,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&lr(e.ssContent),ssFallback:e.ssFallback&&lr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return v&&s&&ar(y,v.clone(y)),y}function tn(e=" ",t=0){return Me(oi,null,e,t)}function xp(e,t){const n=Me(So,null,e);return n.staticCount=t,n}function $e(e="",t=!1){return t?(K(),It(Lt,null,e)):Me(Lt,null,e)}function xn(e){return e==null||typeof e=="boolean"?Me(Lt):Re(e)?Me(Ke,null,e.slice()):Ms(e)?jn(e):Me(oi,null,String(e))}function jn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:lr(e)}function Ko(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Re(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Ko(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Cc(t)?t._ctx=an:i===3&&an&&(an.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(qe(t)){if(s&65){Ko(e,{default:t});return}t={default:t,_ctx:an},n=32}else t=String(t),s&64?(n=16,t=[tn(t)]):n=8;e.children=t,e.shapeFlag|=n}function Cp(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=Qe([t.class,s.class]));else if(i==="style")t.style=sr([t.style,s.style]);else if(Go(i)){const l=t[i],f=s[i];f&&l!==f&&!(Re(l)&&l.includes(f))?t[i]=l?[].concat(l,f):f:f==null&&l==null&&!Yo(i)&&(t[i]=f)}else i!==""&&(t[i]=s[i])}return t}function gn(e,t,n,s=null){cn(e,t,7,[n,s])}const Sp=gc();let jc=0;function Ep(){return jc}function $p(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||Sp,l={uid:jc++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Zf(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ec(s,i),emitsOptions:bc(s,i),emit:null,emitted:null,propsDefaults:ut,inheritAttrs:s.inheritAttrs,ctx:ut,data:ut,props:ut,attrs:ut,slots:ut,refs:ut,setupState:ut,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=sp.bind(null,l),e.ce&&e.ce(l),l}let Gt=null;const Wa=()=>Gt||an;let Ro,Is;{const e=Qo(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),l=>{i.length>1?i.forEach(f=>f(l)):i[0](l)}};Ro=t("__VUE_INSTANCE_SETTERS__",n=>Gt=n),Is=t("__VUE_SSR_SETTERS__",n=>Ds=n)}const Vs=e=>{const t=Gt;return Ro(e),e.scope.on(),()=>{e.scope.off(),Ro(t)}},Zl=()=>{Gt&&Gt.scope.off(),Ro(null)};function Kc(e){return e.vnode.shapeFlag&4}let Ds=!1;function Ap(e,t=!1,n=!1){t&&Is(t);const{props:s,children:i}=e.vnode,l=Kc(e);cp(e,s,l,t),hp(e,i,n||t);const f=l?Tp(e,t):void 0;return t&&Is(!1),f}function Tp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yd);const{setup:s}=n;if(s){An();const i=e.setupContext=s.length>1?Pp(e):null,l=Vs(e),f=Ns(s,e,0,[e.props,i]),p=Tu(f);if(Tn(),l(),(p||e.sp)&&!ws(e)&&dc(e),p){if(f.then(Zl,Zl),t)return f.then(v=>{Is(!0);try{eu(e,v,t)}finally{Is(!1)}}).catch(v=>{ei(v,e,0)});e.asyncDep=f}else eu(e,f)}else Rc(e)}function eu(e,t,n){qe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:it(t)&&(e.setupState=Qu(t)),Rc(e)}function Rc(e,t,n){const s=e.type;e.render||(e.render=s.render||En);{const i=Vs(e);An();try{Jd(e)}finally{Tn(),i()}}}const Op={get(e,t){return Nt(e,"get",""),e[t]}};function Pp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Op),slots:e.slots,emit:e.emit,expose:t}}function ii(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qu(gd(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ks)return ks[n](e)},has(t,n){return n in t||n in ks}})):e.proxy}function Mp(e){return qe(e)&&"__vccOpts"in e}const ot=(e,t)=>xd(e,t,Ds);function Ip(e,t,n){try{jo(-1);const s=arguments.length;return s===2?it(t)&&!Re(t)?Ms(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ms(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Dp="3.5.44";/**
* @vue/runtime-dom v3.5.44
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let ga;const tu=typeof window<"u"&&window.trustedTypes;if(tu)try{ga=tu.createPolicy("vue",{createHTML:e=>e})}catch{}const Nc=ga?e=>ga.createHTML(e):e=>e,jp="http://www.w3.org/2000/svg",Kp="http://www.w3.org/1998/Math/MathML",Dn=typeof document<"u"?document:null,nu=Dn&&Dn.createElement("template"),Rp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Dn.createElementNS(jp,e):t==="mathml"?Dn.createElementNS(Kp,e):n?Dn.createElement(e,{is:n}):Dn.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Dn.createTextNode(e),createComment:e=>Dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,l){const f=n?n.previousSibling:t.lastChild;if(i&&(i===l||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===l||!(i=i.nextSibling)););else{nu.innerHTML=Nc(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const p=nu.content;if(s==="svg"||s==="mathml"){const v=p.firstChild;for(;v.firstChild;)p.appendChild(v.firstChild);p.removeChild(v)}t.insertBefore(p,n)}return[f?f.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qn="transition",ps="animation",Jr=Symbol("_vtc"),Lc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Vc=xt({},uc,Lc),Np=e=>(e.displayName="Transition",e.props=Vc,e),es=Np((e,{slots:t})=>Ip(Nd,Fc(e),t)),xr=(e,t=[])=>{Re(e)?e.forEach(n=>n(...t)):e&&e(...t)},ru=e=>e?Re(e)?e.some(t=>t.length>1):e.length>1:!1;function Fc(e){const t={};for(const J in e)J in Lc||(t[J]=e[J]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:l=`${n}-enter-from`,enterActiveClass:f=`${n}-enter-active`,enterToClass:p=`${n}-enter-to`,appearFromClass:v=l,appearActiveClass:b=f,appearToClass:y=p,leaveFromClass:k=`${n}-leave-from`,leaveActiveClass:I=`${n}-leave-active`,leaveToClass:D=`${n}-leave-to`}=e,N=Lp(i),G=N&&N[0],fe=N&&N[1],{onBeforeEnter:ee,onEnter:E,onEnterCancelled:j,onLeave:Y,onLeaveCancelled:ae,onBeforeAppear:ie=ee,onAppear:oe=E,onAppearCancelled:R=j}=t,$=(J,xe,Fe,tt)=>{J._enterCancelled=tt,er(J,xe?y:p),er(J,xe?b:f),Fe&&Fe()},le=(J,xe)=>{J._isLeaving=!1,er(J,k),er(J,D),er(J,I),xe&&xe()},Ee=J=>(xe,Fe)=>{const tt=J?oe:E,Be=()=>$(xe,J,Fe);xr(tt,[xe,Be]),su(()=>{er(xe,J?v:l),bn(xe,J?y:p),ru(tt)||ou(xe,s,G,Be)})};return xt(t,{onBeforeEnter(J){xr(ee,[J]),bn(J,l),bn(J,f)},onBeforeAppear(J){xr(ie,[J]),bn(J,v),bn(J,b)},onEnter:Ee(!1),onAppear:Ee(!0),onLeave(J,xe){J._isLeaving=!0;const Fe=()=>le(J,xe);bn(J,k),J._enterCancelled?(bn(J,I),ba(J)):(ba(J),bn(J,I)),su(()=>{J._isLeaving&&(er(J,k),bn(J,D),ru(Y)||ou(J,s,fe,Fe))}),xr(Y,[J,Fe])},onEnterCancelled(J){$(J,!1,void 0,!0),xr(j,[J])},onAppearCancelled(J){$(J,!0,void 0,!0),xr(R,[J])},onLeaveCancelled(J){le(J),xr(ae,[J])}})}function Lp(e){if(e==null)return null;if(it(e))return[ea(e.enter),ea(e.leave)];{const t=ea(e);return[t,t]}}function ea(e){return qf(e)}function bn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Jr]||(e[Jr]=new Set)).add(t)}function er(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Jr];n&&(n.delete(t),n.size||(e[Jr]=void 0))}function su(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vp=0;function ou(e,t,n,s){const i=e._endId=++Vp,l=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(l,n);const{type:f,timeout:p,propCount:v}=Bc(e,t);if(!f)return s();const b=f+"end";let y=0;const k=()=>{e.removeEventListener(b,I),l()},I=D=>{D.target===e&&++y>=v&&k()};setTimeout(()=>{y<v&&k()},p+1),e.addEventListener(b,I)}function Bc(e,t){const n=window.getComputedStyle(e),s=N=>(n[N]||"").split(", "),i=s(`${Qn}Delay`),l=s(`${Qn}Duration`),f=iu(i,l),p=s(`${ps}Delay`),v=s(`${ps}Duration`),b=iu(p,v);let y=null,k=0,I=0;t===Qn?f>0&&(y=Qn,k=f,I=l.length):t===ps?b>0&&(y=ps,k=b,I=v.length):(k=Math.max(f,b),y=k>0?f>b?Qn:ps:null,I=y?y===Qn?l.length:v.length:0);const D=y===Qn&&/\b(?:transform|all)(?:,|$)/.test(s(`${Qn}Property`).toString());return{type:y,timeout:k,propCount:I,hasTransform:D}}function iu(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>au(n)+au(e[s])))}function au(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ba(e){return(e?e.ownerDocument:document).body.offsetHeight}function Fp(e,t,n){const s=e[Jr];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const lu=Symbol("_vod"),Uc=Symbol("_vsh"),Bp=Symbol(""),Up=/(?:^|;)\s*display\s*:/;function qp(e,t,n){const s=e.style,i=mt(n);let l=!1;if(n&&!i){if(t)if(mt(t))for(const f of t.split(";")){const p=f.slice(0,f.indexOf(":")).trim();n[p]==null&&ms(s,p,"")}else for(const f in t)n[f]==null&&ms(s,f,"");for(const f in n){f==="display"&&(l=!0);const p=n[f];p!=null?Wp(e,f,!mt(t)&&t?t[f]:void 0,p)||ms(s,f,p):ms(s,f,"")}}else if(i){if(t!==n){const f=s[Bp];f&&(n+=";"+f),s.cssText=n,l=Up.test(n)}}else t&&e.removeAttribute("style");lu in e&&((!i||t!==n)&&(e[lu]=l?s.display:""),e[Uc]&&(s.display="none"))}const _o=/\s*!important$/;function ms(e,t,n){if(Re(n))n.forEach(s=>ms(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))_o.test(n)?e.setProperty(t,n.replace(_o,""),"important"):e.setProperty(t,n);else{const s=Hp(e,t);_o.test(n)?e.setProperty(cr(s),n.replace(_o,""),"important"):e[s]=n}}const uu=["Webkit","Moz","ms"],ta={};function Hp(e,t){const n=ta[t];if(n)return n;let s=hn(t);if(s!=="filter"&&s in e)return ta[t]=s;s=Mu(s);for(let i=0;i<uu.length;i++){const l=uu[i]+s;if(l in e)return ta[t]=l}return t}function Wp(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&mt(s)&&n===s}const cu="http://www.w3.org/1999/xlink";function fu(e,t,n,s,i,l=Jf(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(cu,t.slice(6,t.length)):e.setAttributeNS(cu,t,n):n==null||l&&!Du(n)?e.removeAttribute(t):e.setAttribute(t,l?"":$n(n)?String(n):n)}function du(e,t,n,s,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Nc(n):n);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const p=l==="OPTION"?e.getAttribute("value")||"":e.value,v=n==null?e.type==="checkbox"?"on":"":String(n);(p!==v||!("_value"in e))&&(e.value=v),n==null&&e.removeAttribute(t),e._value=n;return}let f=!1;if(n===""||n==null){const p=typeof e[t];p==="boolean"?n=Du(n):n==null&&p==="string"?(n="",f=!0):p==="number"&&(n=0,f=!0)}try{e[t]=n}catch{}f&&e.removeAttribute(i||t)}function nr(e,t,n,s){e.addEventListener(t,n,s)}function zp(e,t,n,s){e.removeEventListener(t,n,s)}const pu=Symbol("_vei");function Gp(e,t,n,s,i=null){const l=e[pu]||(e[pu]={}),f=l[t];if(s&&f)f.value=s;else{const[p,v]=Xp(t);if(s){const b=l[t]=eh(s,i);nr(e,p,b,v)}else f&&(zp(e,p,f,v),l[t]=void 0)}}const Yp=/(Once|Passive|Capture)$/,Jp=/^on:?(?:Once|Passive|Capture)$/;function Xp(e){let t,n;for(;(n=e.match(Yp))&&!Jp.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):cr(e.slice(2)),t]}let na=0;const Qp=Promise.resolve(),Zp=()=>na||(Qp.then(()=>na=0),na=Date.now());function eh(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const i=n.value;if(Re(i)){const l=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{l.call(s),s._stopped=!0};const f=i.slice(),p=[s];for(let v=0;v<f.length&&!s._stopped;v++){const b=f[v];b&&cn(b,t,5,p)}}else cn(i,t,5,[s])};return n.value=e,n.attached=Zp(),n}const hu=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,th=(e,t,n,s,i,l)=>{const f=i==="svg";t==="class"?Fp(e,s,f):t==="style"?qp(e,n,s):Go(t)?Yo(t)||Gp(e,t,n,s,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nh(e,t,s,f))?(du(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&fu(e,t,s,f,l,t!=="value")):e._isVueCE&&(rh(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!mt(s)))?du(e,hn(t),s,l,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),fu(e,t,s,f))};function nh(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&hu(t)&&qe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return hu(t)&&mt(n)?!1:t in e}function rh(e,t){const n=e._def.props;if(!n)return!1;const s=hn(t);return Array.isArray(n)?n.some(i=>hn(i)===s):Object.keys(n).some(i=>hn(i)===s)}const qc=new WeakMap,Hc=new WeakMap,No=Symbol("_moveCb"),vu=Symbol("_enterCb"),_a=new WeakMap,sh=e=>(delete e.props.mode,e),oh=sh({name:"TransitionGroup",props:xt({},Vc,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Wa(),s=lc();let i,l,f,p;const v=()=>(p===void 0&&(p=i.length>0&&ph(i[0].el,n.vnode.el,mu(e))),p);return hc(()=>{if(_a.delete(n),!v()){i=[],f=void 0;return}const b=mu(e);i.forEach(ah);const y=f&&dh(f,n.vnode.el);f=void 0,i.forEach(I=>lh(I,y));const k=i.filter(uh);ba(n.vnode.el),k.forEach(I=>{const D=I.el,N=D.style;bn(D,b),N.transform=N.webkitTransform=N.transitionDuration="";const G=D[No]=fe=>{fe&&fe.target!==D||(!fe||fe.propertyName.endsWith("transform"))&&(D.removeEventListener("transitionend",G),D[No]=null,er(D,b))};D.addEventListener("transitionend",G)}),i=[]}),()=>{const b=rt(e),y=Fc(b);let k=b.tag||Ke;if(i=[],p=void 0,l)for(let I=0;I<l.length;I++){const D=l[I];D.el&&D.el instanceof Element&&!D.el[Uc]&&(i.push(D),ar(D,Ts(D,y,s,n)),qc.set(D,ai(D.el)))}l=t.default?Ba(t.default()):[];for(let I=0;I<l.length;I++){const D=l[I];D.key!=null&&ar(D,Ts(D,y,s,n))}return i.length&&(f=ch(n),_a.set(n,v)),Me(k,null,l)}}}),ih=oh;function ah(e){const t=e.el;t[No]&&t[No](),t[vu]&&t[vu]()}function mu(e){return e.moveClass||`${e.name||"v"}-move`}function lh(e,t){Hc.set(e,ai(e.el,t))}function uh(e){const t=qc.get(e),n=Hc.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const l=e.el,f=l.style,p=l.getBoundingClientRect();let v=1,b=1;return l.offsetWidth&&(v=p.width/l.offsetWidth),l.offsetHeight&&(b=p.height/l.offsetHeight),(!Number.isFinite(v)||v===0)&&(v=1),(!Number.isFinite(b)||b===0)&&(b=1),Math.abs(v-1)<.01&&(v=1),Math.abs(b-1)<.01&&(b=1),f.transform=f.webkitTransform=`translate(${s/v}px,${i/b}px)`,f.transitionDuration="0s",e}}function ai(e,t){const n=e.getBoundingClientRect();return{left:n.left-(t?t.left:0),top:n.top-(t?t.top:0)}}function ch(e){let t;for(let n=e.parent;n;n=n.parent){const s=_a.get(n);if(s){const i=fh(n.vnode.el,e.vnode.el);i&&(t||(t=[])).push(xt(ai(i),{item:i,willMove:s}))}}return t}function fh(e,t){const n=e.nodeType===1?e:e.parentNode;for(;t&&t.parentNode!==n;)t=t.parentNode;if(t&&t.nodeType===1)return t}function dh(e,t){const n=e.find(s=>s.willMove()&&s.item.contains(t));return n&&ai(n.item,n)}function ph(e,t,n){const s=e.cloneNode(),i=e[Jr];i&&i.forEach(p=>{p.split(/\s+/).forEach(v=>v&&s.classList.remove(v))}),n.split(/\s+/).forEach(p=>p&&s.classList.add(p)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:f}=Bc(s);return l.removeChild(s),f}const Xr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Re(t)?n=>xo(t,n):t};function hh(e){e.target.composing=!0}function yu(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Sn=Symbol("_assign"),wo=Symbol("_initialValue");function ra(e,t,n){return t&&(e=e.trim()),n&&(e=Xo(e)),e}const De={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e.parentNode&&(e.type==="text"?e[wo]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[wo]=e.defaultValue.replace(/\r\n?/g,`
`))),e[Sn]=Xr(i);const l=s||i.props&&i.props.type==="number";nr(e,t?"change":"input",f=>{f.target.composing||e[Sn](ra(e.value,n,l))}),(n||l)&&nr(e,"change",()=>{e.value=ra(e.value,n,l)}),t||(nr(e,"compositionstart",hh),nr(e,"compositionend",yu),nr(e,"change",yu))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const i=t??"",l=e[wo];delete e[wo],l!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==l?e[Sn](ra(e.value,n,s)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:i,number:l}},f){if(e[Sn]=Xr(f),e.composing)return;const p=(l||e.type==="number")&&!/^0\d/.test(e.value)?Xo(e.value):e.value,v=t??"";if(p===v)return;const b=e.getRootNode();(b instanceof Document||b instanceof ShadowRoot)&&b.activeElement===e&&e.type!=="range"&&(s&&t===n||i&&e.value.trim()===v)||(e.value=v)}},vh={deep:!0,created(e,t,n){e[Sn]=Xr(n),nr(e,"change",()=>{const s=e._modelValue,i=js(e),l=e.checked,f=e[Sn];if(Re(s)){const p=Ma(s,i),v=p!==-1;if(l&&!v)f(s.concat(i));else if(!l&&v){const b=[...s];b.splice(p,1),f(b)}}else if(Bn(s)){const p=new Set(s);l?p.add(i):p.delete(i),f(p)}else f(Wc(e,l))})},mounted:gu,beforeUpdate(e,t,n){e[Sn]=Xr(n),gu(e,t,n)}};function gu(e,{value:t,oldValue:n},s){e._modelValue=t;let i;if(Re(t))i=Ma(t,s.props.value)>-1;else if(Bn(t))i=t.has(s.props.value);else{if(t===n)return;i=Un(t,Wc(e,!0))}e.checked!==i&&(e.checked=i)}const Ln={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nr(e,"change",()=>{const i=Array.prototype.filter.call(e.options,v=>v.selected).map(v=>n?Xo(js(v)):js(v)),l=e.multiple,f=l?Bn(e._modelValue)?new Set(i):i:i[0],p=e._pendingValue=[l,l?Re(f)?i.slice():i:f];try{e[Sn](f)}finally{Zr(()=>{e._pendingValue===p&&(e._pendingValue=void 0)})}}),e[Sn]=Xr(s)},mounted(e,{value:t}){bu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Sn]=Xr(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!mh(t,n[1],n[0]))&&bu(e,t)}};function mh(e,t,n){if(!n||Re(e))return Un(e,t);if(Bn(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function bu(e,t){const n=e.multiple,s=Re(t);if(!(n&&!s&&!Bn(t))){for(let i=0,l=e.options.length;i<l;i++){const f=e.options[i],p=js(f);if(n)if(s){const v=typeof p;v==="string"||v==="number"?f.selected=t.some(b=>String(b)===String(p)):f.selected=Ma(t,p)>-1}else f.selected=t.has(p);else if(Un(js(f),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function js(e){return"_value"in e?e._value:e.value}function Wc(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const yh=["ctrl","shift","alt","meta"],gh={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>yh.some(n=>e[`${n}Key`]&&!t.includes(n))},Mr=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...l)=>{for(let f=0;f<t.length;f++){const p=gh[t[f]];if(p&&p(i,t))return}return e(i,...l)})},bh={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Dt=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=i=>{if(!("key"in i))return;const l=cr(i.key);if(t.some(f=>f===l||bh[f]===l))return e(i)})},_h=xt({patchProp:th},Rp);let _u;function wh(){return _u||(_u=mp(_h))}const kh=(...e)=>{const t=wh().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Ch(s);if(!i)return;const l=t._component;!qe(l)&&!l.render&&!l.template&&(l.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const f=n(i,!1,xh(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),f},t};function xh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ch(e){return mt(e)?document.querySelector(e):e}function $t(e){return'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">'+e+"</svg>"}const Sh={calendar:$t('<rect x="4" y="5.5" width="16" height="14" rx="2"/><path d="M8.5 3.5v3.5M15.5 3.5v3.5M4 10.5h16"/>'),clock:$t('<circle cx="12" cy="12" r="8.25"/><path d="M12 7.75V12l2.75 1.75"/>'),"check-circle":$t('<circle cx="12" cy="12" r="8.25"/><path d="M8.5 12.4l2.4 2.4 4.6-5.2"/>'),edit:$t('<path d="M4.5 19.5v-3.2L16 4.8a1.9 1.9 0 0 1 2.7 2.7L7.2 19l-2.7.5z"/>'),tag:$t('<path d="M4.5 5.5a1 1 0 0 1 1-1h5.6l8.4 8.4-6.6 6.6-8.4-8.4V5.5z"/><circle cx="8.8" cy="8.8" r="1.1"/>'),star:$t('<path d="M12 4l2.5 5.1 5.6.8-4 3.9.9 5.6-5-2.7-5 2.7.9-5.6-4-3.9 5.6-.8L12 4z"/>'),close:$t('<path d="M6.5 6.5l11 11M17.5 6.5l-11 11"/>'),flag:$t('<path d="M6.5 21V4"/><path d="M6.5 4.5h10.8l-2.6 3.7 2.6 3.7H6.5"/>'),chart:$t('<path d="M4.5 19.5h15"/><path d="M7.5 19.5V12M12 19.5V6.5M16.5 19.5V9.5"/>'),export:$t('<path d="M12 4.5V14M8.25 10.25L12 14l3.75-3.75"/><path d="M5 19.5h14"/>'),"chevron-left":$t('<path d="M14.5 6l-6 6 6 6"/>'),"chevron-right":$t('<path d="M9.5 6l6 6-6 6"/>'),"chevron-down":$t('<path d="M6 9.5l6 6 6-6"/>'),plus:$t('<path d="M12 5.5v13M5.5 12h13"/>'),search:$t('<circle cx="11" cy="11" r="6.5"/><path d="M15.8 15.8L20 20"/>'),settings:$t('<circle cx="12" cy="12" r="3"/><path d="M12 4.5v2.2M12 17.3v2.2M4.5 12h2.2M17.3 12h2.2M6.8 6.8l1.6 1.6M15.6 15.6l1.6 1.6M17.2 6.8l-1.6 1.6M8.4 15.6l-1.6 1.6"/>'),memo:$t('<path d="M6.5 3.5h7.5L18.5 8v11a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1z"/><path d="M14 3.5V8h4.5M9.5 12h5M9.5 15.5h5"/>'),lock:$t('<rect x="5.5" y="10.5" width="13" height="9.5" rx="1.5"/><path d="M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5"/>'),wallet:$t('<rect x="3.5" y="6" width="17" height="12.5" rx="2"/><path d="M3.5 10h17"/><circle cx="16.4" cy="14.2" r="1.1"/>')},Eh=["innerHTML"],at=Ft({__name:"Icon",props:{name:{},size:{default:16}},setup(e){const t=e,n=ot(()=>Sh[t.name]||"");return(s,i)=>(K(),U("span",{class:"icon",style:sr({width:e.size+"px",height:e.size+"px"}),innerHTML:n.value},null,12,Eh))}}),$h=["aria-label"],Ah={class:"dialog-title"},Th={class:"dialog-msg"},Oh={class:"dialog-btns"},Ph=Ft({__name:"ConfirmDialog",props:{open:{type:Boolean},title:{},message:{},confirmText:{default:"确认"},cancelText:{default:"取消"},danger:{type:Boolean,default:!1}},emits:["cancel","confirm"],setup(e,{emit:t}){const n=e,s=t;function i(l){n.open&&l.key==="Escape"&&s("cancel")}return vt(()=>n.open,l=>{l?window.addEventListener("keydown",i):window.removeEventListener("keydown",i)}),dr(()=>window.removeEventListener("keydown",i)),(l,f)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:f[2]||(f[2]=Mr(p=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",Ah,re(e.title),1),u("div",Th,re(e.message),1),u("div",Oh,[u("button",{class:"btn btn-sm",onClick:f[0]||(f[0]=p=>s("cancel"))},re(e.cancelText),1),u("button",{class:Qe(["btn btn-sm",e.danger?"btn-danger-solid":"btn-primary"]),onClick:f[1]||(f[1]=p=>s("confirm"))},re(e.confirmText),3)])],8,$h)])):$e("",!0)]),_:1})]))}}),Yt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},ur=Yt(Ph,[["__scopeId","data-v-f27041d4"]]);var wu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var zc={exports:{}};(function(e,t){((n,s)=>{e.exports=s()})(wu,function(){var n=function(r,o){return(n=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(a,c){a.__proto__=c}:function(a,c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}))(r,o)},s=function(){return(s=Object.assign||function(r){for(var o,a=1,c=arguments.length;a<c;a++)for(var d in o=arguments[a])Object.prototype.hasOwnProperty.call(o,d)&&(r[d]=o[d]);return r}).apply(this,arguments)};function i(r,o,a){for(var c,d=0,h=o.length;d<h;d++)!c&&d in o||((c=c||Array.prototype.slice.call(o,0,d))[d]=o[d]);return r.concat(c||Array.prototype.slice.call(o))}var l=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:wu,f=Object.keys,p=Array.isArray;function v(r,o){return typeof o=="object"&&f(o).forEach(function(a){r[a]=o[a]}),r}typeof Promise>"u"||l.Promise||(l.Promise=Promise);var b=Object.getPrototypeOf,y={}.hasOwnProperty;function k(r,o){return y.call(r,o)}function I(r,o){typeof o=="function"&&(o=o(b(r))),(typeof Reflect>"u"?f:Reflect.ownKeys)(o).forEach(function(a){N(r,a,o[a])})}var D=Object.defineProperty;function N(r,o,a,c){D(r,o,v(a&&k(a,"get")&&typeof a.get=="function"?{get:a.get,set:a.set,configurable:!0}:{value:a,configurable:!0,writable:!0},c))}function G(r){return{from:function(o){return r.prototype=Object.create(o.prototype),N(r.prototype,"constructor",r),{extend:I.bind(null,r.prototype)}}}}var fe=Object.getOwnPropertyDescriptor,ee=[].slice;function E(r,o,a){return ee.call(r,o,a)}function j(r,o){return o(r)}function Y(r){if(!r)throw new Error("Assertion Failed")}function ae(r){l.setImmediate?setImmediate(r):setTimeout(r,0)}function ie(r,o){if(typeof o=="string"&&k(r,o))return r[o];if(!o)return r;if(typeof o!="string"){for(var a=[],c=0,d=o.length;c<d;++c){var h=ie(r,o[c]);a.push(h)}return a}var g,_=o.indexOf(".");return _===-1||(g=r[o.substr(0,_)])==null?void 0:ie(g,o.substr(_+1))}function oe(r,o,a){if(r&&o!==void 0&&!("isFrozen"in Object&&Object.isFrozen(r)))if(typeof o!="string"&&"length"in o){Y(typeof a!="string"&&"length"in a);for(var c=0,d=o.length;c<d;++c)oe(r,o[c],a[c])}else{var h=o.indexOf(".");if(h!==-1){var g=o.substr(0,h),h=o.substr(h+1);if(h==="")a===void 0?p(r)&&!isNaN(parseInt(g))?r.splice(g,1):delete r[g]:r[g]=a;else{var _=r[g];if(!_||!k(r,g)){if(a===void 0)return;_=r[g]={}}oe(_,h,a)}}else a===void 0?p(r)&&!isNaN(parseInt(o))?r.splice(o,1):delete r[o]:r[o]=a}}function R(r){var o,a={};for(o in r)k(r,o)&&(a[o]=r[o]);return a}var $=[].concat;function le(r){return $.apply([],r)}var Q="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(le([8,16,32,64].map(function(r){return["Int","Uint","Float"].map(function(o){return o+r+"Array"})}))).filter(function(r){return l[r]}),Ee=new Set(Q.map(function(r){return l[r]})),J=null;function xe(r){return J=new WeakMap,r=function o(a){if(!a||typeof a!="object")return a;var c=J.get(a);if(c)return c;if(p(a)){c=[],J.set(a,c);for(var d=0,h=a.length;d<h;++d)c.push(o(a[d]))}else if(Ee.has(a.constructor))c=a;else{var g,_=b(a);for(g in c=_===Object.prototype?{}:Object.create(_),J.set(a,c),a)k(a,g)&&(c[g]=o(a[g]))}return c}(r),J=null,r}var Fe={}.toString;function tt(r){return Fe.call(r).slice(8,-1)}var Be=typeof Symbol<"u"?Symbol.iterator:"@@iterator",Ge=typeof Be=="symbol"?function(r){var o;return r!=null&&(o=r[Be])&&o.apply(r)}:function(){return null};function _e(r,o){o=r.indexOf(o),0<=o&&r.splice(o,1)}var je={};function et(r){var o,a,c,d;if(arguments.length===1){if(p(r))return r.slice();if(this===je&&typeof r=="string")return[r];if(d=Ge(r))for(a=[];!(c=d.next()).done;)a.push(c.value);else{if(r==null)return[r];if(typeof(o=r.length)!="number")return[r];for(a=new Array(o);o--;)a[o]=r[o]}}else for(o=arguments.length,a=new Array(o);o--;)a[o]=arguments[o];return a}var ge=typeof Symbol<"u"?function(r){return r[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},Q=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],We=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(Q),X={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function Ce(r,o){this.name=r,this.message=o}function At(r,o){return r+". Errors: "+Object.keys(o).map(function(a){return o[a].toString()}).filter(function(a,c,d){return d.indexOf(a)===c}).join(`
`)}function Ct(r,o,a,c){this.failures=o,this.failedKeys=c,this.successCount=a,this.message=At(r,o)}function Et(r,o){this.name="BulkError",this.failures=Object.keys(o).map(function(a){return o[a]}),this.failuresByPos=o,this.message=At(r,this.failures)}G(Ce).from(Error).extend({toString:function(){return this.name+": "+this.message}}),G(Ct).from(Ce),G(Et).from(Ce);var Jt=We.reduce(function(r,o){return r[o]=o+"Error",r},{}),Bt=Ce,de=We.reduce(function(r,o){var a=o+"Error";function c(d,h){this.name=a,d?typeof d=="string"?(this.message="".concat(d).concat(h?`
`+h:""),this.inner=h||null):typeof d=="object"&&(this.message="".concat(d.name," ").concat(d.message),this.inner=d):(this.message=X[o]||a,this.inner=null)}return G(c).from(Bt),r[o]=c,r},{}),m=(de.Syntax=SyntaxError,de.Type=TypeError,de.Range=RangeError,Q.reduce(function(r,o){return r[o+"Error"]=de[o],r},{}));Q=We.reduce(function(r,o){return["Syntax","Type","Range"].indexOf(o)===-1&&(r[o+"Error"]=de[o]),r},{});function w(){}function H(r){return r}function ue(r,o){return r==null||r===H?o:function(a){return o(r(a))}}function se(r,o){return function(){r.apply(this,arguments),o.apply(this,arguments)}}function Z(r,o){return r===w?o:function(){var a=r.apply(this,arguments),c=(a!==void 0&&(arguments[0]=a),this.onsuccess),d=this.onerror,h=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return c&&(this.onsuccess=this.onsuccess?se(c,this.onsuccess):c),d&&(this.onerror=this.onerror?se(d,this.onerror):d),h!==void 0?h:a}}function we(r,o){return r===w?o:function(){r.apply(this,arguments);var a=this.onsuccess,c=this.onerror;this.onsuccess=this.onerror=null,o.apply(this,arguments),a&&(this.onsuccess=this.onsuccess?se(a,this.onsuccess):a),c&&(this.onerror=this.onerror?se(c,this.onerror):c)}}function me(r,o){return r===w?o:function(){var a=r.apply(this,arguments),c=(v(arguments[0],a),this.onsuccess),d=this.onerror,h=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return c&&(this.onsuccess=this.onsuccess?se(c,this.onsuccess):c),d&&(this.onerror=this.onerror?se(d,this.onerror):d),a===void 0?h===void 0?void 0:h:v(a,h)}}function ke(r,o){return r===w?o:function(){return o.apply(this,arguments)!==!1&&r.apply(this,arguments)}}function q(r,o){return r===w?o:function(){var a=r.apply(this,arguments);if(a&&typeof a.then=="function"){for(var c=this,d=arguments.length,h=new Array(d);d--;)h[d]=arguments[d];return a.then(function(){return o.apply(c,h)})}return o.apply(this,arguments)}}Q.ModifyError=Ct,Q.DexieError=Ce,Q.BulkError=Et;var B=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function z(r){B=r}var Te={},Ne=100,Ye=typeof Promise>"u"?[]:(We=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[Ye=crypto.subtle.digest("SHA-512",new Uint8Array([0])),b(Ye),We]:[We,b(We),We]),We=Ye[0],Br=Ye[1],Br=Br&&Br.then,Je=We&&We.constructor,dt=!!Ye[2],gt=function(r,o){Hn.push([r,o]),Ut&&(queueMicrotask(mf),Ut=!1)},Xt=!0,Ut=!0,Qt=[],pr=[],Pt=H,St={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:w,pgp:!1,env:{},finalize:w},Ie=St,Hn=[],hr=0,qs=[];function Se(r){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var o=this._PSD=Ie;if(typeof r!="function"){if(r!==Te)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&vi(this,this._value)}else this._state=null,this._value=null,++o.ref,function a(c,d){try{d(function(h){if(c._state===null){if(h===c)throw new TypeError("A promise cannot be resolved with itself.");var g=c._lib&&Kr();h&&typeof h.then=="function"?a(c,function(_,C){h instanceof Se?h._then(_,C):h.then(_,C)}):(c._state=!0,c._value=h,nl(c)),g&&Rr()}},vi.bind(null,c))}catch(h){vi(c,h)}}(this,r)}var hi={get:function(){var r=Ie,o=Gs;function a(c,d){var h=this,g=!r.global&&(r!==Ie||o!==Gs),_=g&&!zn(),C=new Se(function(V,A){mi(h,new tl(sl(c,r,g,_),sl(d,r,g,_),V,A,r))});return this._consoleTask&&(C._consoleTask=this._consoleTask),C}return a.prototype=Te,a},set:function(r){N(this,"then",r&&r.prototype===Te?hi:{get:function(){return r},set:hi.set})}};function tl(r,o,a,c,d){this.onFulfilled=typeof r=="function"?r:null,this.onRejected=typeof o=="function"?o:null,this.resolve=a,this.reject=c,this.psd=d}function vi(r,o){var a,c;pr.push(o),r._state===null&&(a=r._lib&&Kr(),o=Pt(o),r._state=!1,r._value=o,c=r,Qt.some(function(d){return d._value===c._value})||Qt.push(c),nl(r),a)&&Rr()}function nl(r){var o=r._listeners;r._listeners=[];for(var a=0,c=o.length;a<c;++a)mi(r,o[a]);var d=r._PSD;--d.ref||d.finalize(),hr===0&&(++hr,gt(function(){--hr==0&&yi()},[]))}function mi(r,o){if(r._state===null)r._listeners.push(o);else{var a=r._state?o.onFulfilled:o.onRejected;if(a===null)return(r._state?o.resolve:o.reject)(r._value);++o.psd.ref,++hr,gt(vf,[a,r,o])}}function vf(r,o,a){try{var c,d=o._value;!o._state&&pr.length&&(pr=[]),c=B&&o._consoleTask?o._consoleTask.run(function(){return r(d)}):r(d),o._state||pr.indexOf(d)!==-1||(h=>{for(var g=Qt.length;g;)if(Qt[--g]._value===h._value)return Qt.splice(g,1)})(o),a.resolve(c)}catch(h){a.reject(h)}finally{--hr==0&&yi(),--a.psd.ref||a.psd.finalize()}}function mf(){vr(St,function(){Kr()&&Rr()})}function Kr(){var r=Xt;return Ut=Xt=!1,r}function Rr(){var r,o,a;do for(;0<Hn.length;)for(r=Hn,Hn=[],a=r.length,o=0;o<a;++o){var c=r[o];c[0].apply(null,c[1])}while(0<Hn.length);Ut=Xt=!0}function yi(){for(var r=Qt,o=(Qt=[],r.forEach(function(c){c._PSD.onunhandled.call(null,c._value,c)}),qs.slice(0)),a=o.length;a;)o[--a]()}function Hs(r){return new Se(Te,!1,r)}function pt(r,o){var a=Ie;return function(){var c=Kr(),d=Ie;try{return Gn(a,!0),r.apply(this,arguments)}catch(h){o&&o(h)}finally{Gn(d,!1),c&&Rr()}}}I(Se.prototype,{then:hi,_then:function(r,o){mi(this,new tl(null,null,r,o,Ie))},catch:function(r){var o,a;return arguments.length===1?this.then(null,r):(o=r,a=arguments[1],typeof o=="function"?this.then(null,function(c){return(c instanceof o?a:Hs)(c)}):this.then(null,function(c){return(c&&c.name===o?a:Hs)(c)}))},finally:function(r){return this.then(function(o){return Se.resolve(r()).then(function(){return o})},function(o){return Se.resolve(r()).then(function(){return Hs(o)})})},timeout:function(r,o){var a=this;return r<1/0?new Se(function(c,d){var h=setTimeout(function(){return d(new de.Timeout(o))},r);a.then(c,d).finally(clearTimeout.bind(null,h))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&N(Se.prototype,Symbol.toStringTag,"Dexie.Promise"),St.env=rl(),I(Se,{all:function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.length===0&&o([]);var c=r.length;r.forEach(function(d,h){return Se.resolve(d).then(function(g){r[h]=g,--c||o(r)},a)})})},resolve:function(r){return r instanceof Se?r:r&&typeof r.then=="function"?new Se(function(o,a){r.then(o,a)}):new Se(Te,!0,r)},reject:Hs,race:function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.map(function(c){return Se.resolve(c).then(o,a)})})},PSD:{get:function(){return Ie},set:function(r){return Ie=r}},totalEchoes:{get:function(){return Gs}},newPSD:Wn,usePSD:vr,scheduler:{get:function(){return gt},set:function(r){gt=r}},rejectionMapper:{get:function(){return Pt},set:function(r){Pt=r}},follow:function(r,o){return new Se(function(a,c){return Wn(function(d,h){var g=Ie;g.unhandleds=[],g.onunhandled=h,g.finalize=se(function(){var _,C=this;_=function(){C.unhandleds.length===0?d():h(C.unhandleds[0])},qs.push(function V(){_(),qs.splice(qs.indexOf(V),1)}),++hr,gt(function(){--hr==0&&yi()},[])},g.finalize),r()},o,a,c)})}}),Je&&(Je.allSettled&&N(Se,"allSettled",function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o){r.length===0&&o([]);var a=r.length,c=new Array(a);r.forEach(function(d,h){return Se.resolve(d).then(function(g){return c[h]={status:"fulfilled",value:g}},function(g){return c[h]={status:"rejected",reason:g}}).then(function(){return--a||o(c)})})})}),Je.any&&typeof AggregateError<"u"&&N(Se,"any",function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.length===0&&a(new AggregateError([]));var c=r.length,d=new Array(c);r.forEach(function(h,g){return Se.resolve(h).then(function(_){return o(_)},function(_){d[g]=_,--c||a(new AggregateError(d))})})})}),Je.withResolvers)&&(Se.withResolvers=Je.withResolvers);var Tt={awaits:0,echoes:0,id:0},yf=0,Ws=[],zs=0,Gs=0,gf=0;function Wn(r,g,a,c){var d=Ie,h=Object.create(d),g=(h.parent=d,h.ref=0,h.global=!1,h.id=++gf,St.env,h.env=dt?{Promise:Se,PromiseProp:{value:Se,configurable:!0,writable:!0},all:Se.all,race:Se.race,allSettled:Se.allSettled,any:Se.any,resolve:Se.resolve,reject:Se.reject}:{},g&&v(h,g),++d.ref,h.finalize=function(){--this.parent.ref||this.parent.finalize()},vr(h,r,a,c));return h.ref===0&&h.finalize(),g}function Nr(){return Tt.id||(Tt.id=++yf),++Tt.awaits,Tt.echoes+=Ne,Tt.id}function zn(){return!!Tt.awaits&&(--Tt.awaits==0&&(Tt.id=0),Tt.echoes=Tt.awaits*Ne,!0)}function Ys(r){return Tt.echoes&&r&&r.constructor===Je?(Nr(),r.then(function(o){return zn(),o},function(o){return zn(),wt(o)})):r}function bf(){var r=Ws[Ws.length-1];Ws.pop(),Gn(r,!1)}function Gn(r,o){var a,c,d=Ie;(o?!Tt.echoes||zs++&&r===Ie:!zs||--zs&&r===Ie)||queueMicrotask(o?(function(h){++Gs,Tt.echoes&&--Tt.echoes!=0||(Tt.echoes=Tt.awaits=Tt.id=0),Ws.push(Ie),Gn(h,!0)}).bind(null,r):bf),r!==Ie&&(Ie=r,d===St&&(St.env=rl()),dt)&&(a=St.env.Promise,c=r.env,d.global||r.global)&&(Object.defineProperty(l,"Promise",c.PromiseProp),a.all=c.all,a.race=c.race,a.resolve=c.resolve,a.reject=c.reject,c.allSettled&&(a.allSettled=c.allSettled),c.any)&&(a.any=c.any)}function rl(){var r=l.Promise;return dt?{Promise:r,PromiseProp:Object.getOwnPropertyDescriptor(l,"Promise"),all:r.all,race:r.race,allSettled:r.allSettled,any:r.any,resolve:r.resolve,reject:r.reject}:{}}function vr(r,o,a,c,d){var h=Ie;try{return Gn(r,!0),o(a,c,d)}finally{Gn(h,!1)}}function sl(r,o,a,c){return typeof r!="function"?r:function(){var d=Ie;a&&Nr(),Gn(o,!0);try{return r.apply(this,arguments)}finally{Gn(d,!1),c&&queueMicrotask(zn)}}}function gi(r){Promise===Je&&Tt.echoes===0?zs===0?r():enqueueNativeMicroTask(r):setTimeout(r,0)}(""+Br).indexOf("[native code]")===-1&&(Nr=zn=w);var wt=Se.reject,mr="￿",Pn="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",ol="String expected.",Js="__dbnames",bi="readonly",_i="readwrite";function yr(r,o){return r?o?function(){return r.apply(this,arguments)&&o.apply(this,arguments)}:r:o}var il={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Xs(r){return typeof r!="string"||/\./.test(r)?function(o){return o}:function(o){return o[r]===void 0&&r in o&&delete(o=xe(o))[r],o}}function al(){throw de.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function Ze(r,o){try{var a=ll(r),c=ll(o);if(a!==c)return a==="Array"?1:c==="Array"?-1:a==="binary"?1:c==="binary"?-1:a==="string"?1:c==="string"?-1:a==="Date"?1:c!=="Date"?NaN:-1;switch(a){case"number":case"Date":case"string":return o<r?1:r<o?-1:0;case"binary":for(var d=ul(r),h=ul(o),g=d.length,_=h.length,C=g<_?g:_,V=0;V<C;++V)if(d[V]!==h[V])return d[V]<h[V]?-1:1;return g===_?0:g<_?-1:1;case"Array":for(var A=r,x=o,S=A.length,M=x.length,O=S<M?S:M,T=0;T<O;++T){var P=Ze(A[T],x[T]);if(P!==0)return P}return S===M?0:S<M?-1:1}}catch{}return NaN}function ll(r){var o=typeof r;return o=="object"&&(ArrayBuffer.isView(r)||(o=tt(r))==="ArrayBuffer")?"binary":o}function ul(r){return r instanceof Uint8Array?r:ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r)}function Qs(r,o,a){var c=r.schema.yProps;return c?(o&&0<a.numFailures&&(o=o.filter(function(d,h){return!a.failures[h]})),Promise.all(c.map(function(d){return d=d.updatesTable,o?r.db.table(d).where("k").anyOf(o).delete():r.db.table(d).clear()})).then(function(){return a})):a}cl.prototype.execute=function(r){var o=this["@@propmod"];if(o.add!==void 0){var a=o.add;if(p(a))return i(i([],p(r)?r:[],!0),a).sort();if(typeof a=="number")return(Number(r)||0)+a;if(typeof a=="bigint")try{return BigInt(r)+a}catch{return BigInt(0)+a}throw new TypeError("Invalid term ".concat(a))}if(o.remove!==void 0){var c=o.remove;if(p(c))return p(r)?r.filter(function(d){return!c.includes(d)}).sort():[];if(typeof c=="number")return Number(r)-c;if(typeof c=="bigint")try{return BigInt(r)-c}catch{return BigInt(0)-c}throw new TypeError("Invalid subtrahend ".concat(c))}return a=(a=o.replacePrefix)==null?void 0:a[0],a&&typeof r=="string"&&r.startsWith(a)?o.replacePrefix[1]+r.substring(a.length):r};var ns=cl;function cl(r){this["@@propmod"]=r}function fl(r,o){for(var a=f(o),c=a.length,d=!1,h=0;h<c;++h){var g=a[h],_=o[g],C=ie(r,g);_ instanceof ns?(oe(r,g,_.execute(C)),d=!0):C!==_&&(oe(r,g,_),d=!0)}return d}ct.prototype._trans=function(r,o,a){var c=this._tx||Ie.trans,d=this.name,h=B&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(r==="readonly"?"read":"write"," ").concat(this.name));function g(V,A,x){if(x.schema[d])return o(x.idbtrans,x);throw new de.NotFound("Table "+d+" not part of transaction")}var _=Kr();try{var C=c&&c.db._novip===this.db._novip?c===Ie.trans?c._promise(r,g,a):Wn(function(){return c._promise(r,g,a)},{trans:c,transless:Ie.transless||Ie}):function V(A,x,S,M){if(A.idbdb&&(A._state.openComplete||Ie.letThrough||A._vip)){var O=A._createTransaction(x,S,A._dbSchema);try{O.create(),A._state.PR1398_maxLoop=3}catch(T){return T.name===Jt.InvalidState&&A.isOpen()&&0<--A._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),A.close({disableAutoOpen:!1}),A.open().then(function(){return V(A,x,S,M)})):wt(T)}return O._promise(x,function(T,P){return Wn(function(){return Ie.trans=O,M(T,P,O)})}).then(function(T){if(x==="readwrite")try{O.idbtrans.commit()}catch{}return x==="readonly"?T:O._completion.then(function(){return T})})}if(A._state.openComplete)return wt(new de.DatabaseClosed(A._state.dbOpenError));if(!A._state.isBeingOpened){if(!A._state.autoOpen)return wt(new de.DatabaseClosed);A.open().catch(w)}return A._state.dbReadyPromise.then(function(){return V(A,x,S,M)})}(this.db,r,[this.name],g);return h&&(C._consoleTask=h,C=C.catch(function(V){return console.trace(V),wt(V)})),C}finally{_&&Rr()}},ct.prototype.get=function(r,o){var a=this;return r&&r.constructor===Object?this.where(r).first(o):r==null?wt(new de.Type("Invalid argument to Table.get()")):this._trans("readonly",function(c){return a.core.get({trans:c,key:r}).then(function(d){return a.hook.reading.fire(d)})}).then(o)},ct.prototype.where=function(r){if(typeof r=="string")return new this.db.WhereClause(this,r);if(p(r))return new this.db.WhereClause(this,"[".concat(r.join("+"),"]"));var o=f(r);if(o.length===1)return this.where(o[0]).equals(r[o[0]]);var a=this.schema.indexes.concat(this.schema.primKey).filter(function(_){if(_.compound&&o.every(function(V){return 0<=_.keyPath.indexOf(V)})){for(var C=0;C<o.length;++C)if(o.indexOf(_.keyPath[C])===-1)return!1;return!0}return!1}).sort(function(_,C){return _.keyPath.length-C.keyPath.length})[0];if(a&&this.db._maxKey!==mr)return g=a.keyPath.slice(0,o.length),this.where(g).equals(g.map(function(_){return r[_]}));!a&&B&&console.warn("The query ".concat(JSON.stringify(r)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(o.join("+"),"]"));var c=this.schema.idxByName;function d(_,C){return Ze(_,C)===0}var g=o.reduce(function(A,C){var V=A[0],A=A[1],x=c[C],S=r[C];return[V||x,V||!x?yr(A,x&&x.multi?function(M){return M=ie(M,C),p(M)&&M.some(function(O){return d(S,O)})}:function(M){return d(S,ie(M,C))}):A]},[null,null]),h=g[0],g=g[1];return h?this.where(h.name).equals(r[h.keyPath]).filter(g):a?this.filter(g):this.where(o).equals("")},ct.prototype.filter=function(r){return this.toCollection().and(r)},ct.prototype.count=function(r){return this.toCollection().count(r)},ct.prototype.offset=function(r){return this.toCollection().offset(r)},ct.prototype.limit=function(r){return this.toCollection().limit(r)},ct.prototype.each=function(r){return this.toCollection().each(r)},ct.prototype.toArray=function(r){return this.toCollection().toArray(r)},ct.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},ct.prototype.orderBy=function(r){return new this.db.Collection(new this.db.WhereClause(this,p(r)?"[".concat(r.join("+"),"]"):r))},ct.prototype.reverse=function(){return this.toCollection().reverse()},ct.prototype.mapToClass=function(r){for(var o=this.db,a=this.name,c=((this.schema.mappedClass=r).prototype instanceof al&&(r=(g=>{var _=A,C=g;if(typeof C!="function"&&C!==null)throw new TypeError("Class extends value "+String(C)+" is not a constructor or null");function V(){this.constructor=_}function A(){return g!==null&&g.apply(this,arguments)||this}return n(_,C),_.prototype=C===null?Object.create(C):(V.prototype=C.prototype,new V),Object.defineProperty(A.prototype,"db",{get:function(){return o},enumerable:!1,configurable:!0}),A.prototype.table=function(){return a},A})(r)),new Set),d=r.prototype;d;d=b(d))Object.getOwnPropertyNames(d).forEach(function(g){return c.add(g)});function h(g){if(!g)return g;var _,C=Object.create(r.prototype);for(_ in g)if(!c.has(_))try{C[_]=g[_]}catch{}return C}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=h,this.hook("reading",h),r},ct.prototype.defineClass=function(){return this.mapToClass(function(r){v(this,r)})},ct.prototype.add=function(r,o){var a=this,c=this.schema.primKey,d=c.auto,h=c.keyPath,g=r;return h&&d&&(g=Xs(h)(r)),this._trans("readwrite",function(_){return a.core.mutate({trans:_,type:"add",keys:o!=null?[o]:null,values:[g]})}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{oe(r,h,_)}catch{}return _})},ct.prototype.upsert=function(r,o){var a=this,c=this.schema.primKey.keyPath;return this._trans("readwrite",function(d){return a.core.get({trans:d,key:r}).then(function(h){var g=h??{};return fl(g,o),c&&oe(g,c,r),a.core.mutate({trans:d,type:"put",values:[g],keys:[r],upsert:!0,updates:{keys:[r],changeSpecs:[o]}}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):!!h})})})},ct.prototype.update=function(r,o){return typeof r!="object"||p(r)?this.where(":id").equals(r).modify(o):(r=ie(r,this.schema.primKey.keyPath))===void 0?wt(new de.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(r).modify(o)},ct.prototype.put=function(r,o){var a=this,c=this.schema.primKey,d=c.auto,h=c.keyPath,g=r;return h&&d&&(g=Xs(h)(r)),this._trans("readwrite",function(_){return a.core.mutate({trans:_,type:"put",values:[g],keys:o!=null?[o]:null})}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{oe(r,h,_)}catch{}return _})},ct.prototype.delete=function(r){var o=this;return this._trans("readwrite",function(a){return o.core.mutate({trans:a,type:"delete",keys:[r]}).then(function(c){return Qs(o,[r],c)}).then(function(c){return c.numFailures?Se.reject(c.failures[0]):void 0})})},ct.prototype.clear=function(){var r=this;return this._trans("readwrite",function(o){return r.core.mutate({trans:o,type:"deleteRange",range:il}).then(function(a){return Qs(r,null,a)})}).then(function(o){return o.numFailures?Se.reject(o.failures[0]):void 0})},ct.prototype.bulkGet=function(r){var o=this;return this._trans("readonly",function(a){return o.core.getMany({keys:r,trans:a}).then(function(c){return c.map(function(d){return o.hook.reading.fire(d)})})})},ct.prototype.bulkAdd=function(r,o,a){var c=this,d=Array.isArray(o)?o:void 0,h=(a=a||(d?void 0:o))?a.allKeys:void 0;return this._trans("readwrite",function(g){var _=c.schema.primKey,V=_.auto,_=_.keyPath;if(_&&d)throw new de.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(d&&d.length!==r.length)throw new de.InvalidArgument("Arguments objects and keys must have the same length");var C=r.length,V=_&&V?r.map(Xs(_)):r;return c.core.mutate({trans:g,type:"add",keys:d,values:V,wantResults:h}).then(function(A){var x=A.numFailures,S=A.failures;if(x===0)return h?A.results:A.lastResult;throw new Et("".concat(c.name,".bulkAdd(): ").concat(x," of ").concat(C," operations failed"),S)})})},ct.prototype.bulkPut=function(r,o,a){var c=this,d=Array.isArray(o)?o:void 0,h=(a=a||(d?void 0:o))?a.allKeys:void 0;return this._trans("readwrite",function(g){var _=c.schema.primKey,V=_.auto,_=_.keyPath;if(_&&d)throw new de.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(d&&d.length!==r.length)throw new de.InvalidArgument("Arguments objects and keys must have the same length");var C=r.length,V=_&&V?r.map(Xs(_)):r;return c.core.mutate({trans:g,type:"put",keys:d,values:V,wantResults:h}).then(function(A){var x=A.numFailures,S=A.failures;if(x===0)return h?A.results:A.lastResult;throw new Et("".concat(c.name,".bulkPut(): ").concat(x," of ").concat(C," operations failed"),S)})})},ct.prototype.bulkUpdate=function(r){var o=this,a=this.core,c=r.map(function(g){return g.key}),d=r.map(function(g){return g.changes}),h=[];return this._trans("readwrite",function(g){return a.getMany({trans:g,keys:c,cache:"clone"}).then(function(_){var C=[],V=[],A=(r.forEach(function(x,S){var M=x.key,O=x.changes,T=_[S];if(T){for(var P=0,W=Object.keys(O);P<W.length;P++){var F=W[P],te=O[F];if(F===o.schema.primKey.keyPath){if(Ze(te,M)!==0)throw new de.Constraint("Cannot update primary key in bulkUpdate()")}else oe(T,F,te)}h.push(S),C.push(M),V.push(T)}}),C.length);return a.mutate({trans:g,type:"put",keys:C,values:V,updates:{keys:c,changeSpecs:d}}).then(function(x){var S=x.numFailures,M=x.failures;if(S===0)return A;for(var O=0,T=Object.keys(M);O<T.length;O++){var P,W=T[O],F=h[Number(W)];F!=null&&(P=M[W],delete M[W],M[F]=P)}throw new Et("".concat(o.name,".bulkUpdate(): ").concat(S," of ").concat(A," operations failed"),M)})})})},ct.prototype.bulkDelete=function(r){var o=this,a=r.length;return this._trans("readwrite",function(c){return o.core.mutate({trans:c,type:"delete",keys:r}).then(function(d){return Qs(o,r,d)})}).then(function(c){var d=c.numFailures,h=c.failures;if(d===0)return c.lastResult;throw new Et("".concat(o.name,".bulkDelete(): ").concat(d," of ").concat(a," operations failed"),h)})};var dl=ct;function ct(){}function rs(r){function o(g,_){if(_){for(var C=arguments.length,V=new Array(C-1);--C;)V[C-1]=arguments[C];return a[g].subscribe.apply(null,V),r}if(typeof g=="string")return a[g]}var a={};o.addEventType=h;for(var c=1,d=arguments.length;c<d;++c)h(arguments[c]);return o;function h(g,_,C){var V,A;if(typeof g!="object")return _=_||ke,A={subscribers:[],fire:C=C||w,subscribe:function(x){A.subscribers.indexOf(x)===-1&&(A.subscribers.push(x),A.fire=_(A.fire,x))},unsubscribe:function(x){A.subscribers=A.subscribers.filter(function(S){return S!==x}),A.fire=A.subscribers.reduce(_,C)}},a[g]=o[g]=A;f(V=g).forEach(function(x){var S=V[x];if(p(S))h(x,V[x][0],V[x][1]);else{if(S!=="asap")throw new de.InvalidArgument("Invalid event config");var M=h(x,H,function(){for(var O=arguments.length,T=new Array(O);O--;)T[O]=arguments[O];M.subscribers.forEach(function(P){ae(function(){P.apply(null,T)})})})}})}}function ss(r,o){return G(o).from({prototype:r}),o}function Lr(r,o){return!(r.filter||r.algorithm||r.or)&&(o?r.justLimit:!r.replayFilter)}function wi(r,o){r.filter=yr(r.filter,o)}function ki(r,o,a){var c=r.replayFilter;r.replayFilter=c?function(){return yr(c(),o())}:o,r.justLimit=a&&!c}function Zs(r,o){if(r.isPrimKey)return o.primaryKey;var a=o.getIndexByKeyPath(r.index);if(a)return a;throw new de.Schema("KeyPath "+r.index+" on object store "+o.name+" is not indexed")}function pl(r,o,a){var c=Zs(r,o.schema);return o.openCursor({trans:a,values:!r.keysOnly,reverse:r.dir==="prev",unique:!!r.unique,query:{index:c,range:r.range}})}function eo(r,o,a,c){var d,h,g=r.replayFilter?yr(r.filter,r.replayFilter()):r.filter;return r.or?(d={},h=function(_,C,V){var A,x;g&&!g(C,V,function(S){return C.stop(S)},function(S){return C.fail(S)})||((x=""+(A=C.primaryKey))=="[object ArrayBuffer]"&&(x=""+new Uint8Array(A)),k(d,x))||(d[x]=!0,o(_,C,V))},Promise.all([r.or._iterate(h,a),hl(pl(r,c,a),r.algorithm,h,!r.keysOnly&&r.valueMapper)])):hl(pl(r,c,a),yr(r.algorithm,g),o,!r.keysOnly&&r.valueMapper)}function hl(r,o,a,c){var d=pt(c?function(h,g,_){return a(c(h),g,_)}:a);return r.then(function(h){if(h)return h.start(function(){var g=function(){return h.continue()};o&&!o(h,function(_){return g=_},function(_){h.stop(_),g=w},function(_){h.fail(_),g=w})||d(h.value,h,function(_){return g=_}),g()})})}nt.prototype._read=function(r,o){var a=this._ctx;return a.error?a.table._trans(null,wt.bind(null,a.error)):a.table._trans("readonly",r).then(o)},nt.prototype._write=function(r){var o=this._ctx;return o.error?o.table._trans(null,wt.bind(null,o.error)):o.table._trans("readwrite",r,"locked")},nt.prototype._addAlgorithm=function(r){var o=this._ctx;o.algorithm=yr(o.algorithm,r)},nt.prototype._iterate=function(r,o){return eo(this._ctx,r,o,this._ctx.table.core)},nt.prototype.clone=function(r){var o=Object.create(this.constructor.prototype),a=Object.create(this._ctx);return r&&v(a,r),o._ctx=a,o},nt.prototype.raw=function(){return this._ctx.valueMapper=null,this},nt.prototype.each=function(r){var o=this._ctx;return this._read(function(a){return eo(o,r,a,o.table.core)})},nt.prototype.count=function(r){var o=this;return this._read(function(a){var c,d=o._ctx,h=d.table.core;return Lr(d,!0)?h.count({trans:a,query:{index:Zs(d,h.schema),range:d.range}}).then(function(g){return Math.min(g,d.limit)}):(c=0,eo(d,function(){return++c,!1},a,h).then(function(){return c}))}).then(r)},nt.prototype.sortBy=function(r,o){var a=r.split(".").reverse(),c=a[0],d=a.length-1;function h(C,V){return V?h(C[a[V]],V-1):C[c]}var g=this._ctx.dir==="next"?1:-1;function _(C,V){return Ze(h(C,d),h(V,d))*g}return this.toArray(function(C){return C.slice().sort(_)}).then(o)},nt.prototype.toArray=function(r){var o=this;return this._read(function(a){var c,d,h,g=o._ctx;return Lr(g,!0)&&0<g.limit?(c=g.valueMapper,d=Zs(g,g.table.core.schema),g.table.core.query({trans:a,limit:g.limit,values:!0,direction:g.dir==="prev"?"prev":void 0,query:{index:d,range:g.range}}).then(function(_){return _=_.result,c?_.map(c):_})):(h=[],eo(g,function(_){return h.push(_)},a,g.table.core).then(function(){return h}))},r)},nt.prototype.offset=function(r){var o=this._ctx;return r<=0||(o.offset+=r,Lr(o)?ki(o,function(){var a=r;return function(c,d){return a===0||(a===1?--a:d(function(){c.advance(a),a=0}),!1)}}):ki(o,function(){var a=r;return function(){return--a<0}})),this},nt.prototype.limit=function(r){return this._ctx.limit=Math.min(this._ctx.limit,r),ki(this._ctx,function(){var o=r;return function(a,c,d){return--o<=0&&c(d),0<=o}},!0),this},nt.prototype.until=function(r,o){return wi(this._ctx,function(a,c,d){return!r(a.value)||(c(d),o)}),this},nt.prototype.first=function(r){return this.limit(1).toArray(function(o){return o[0]}).then(r)},nt.prototype.last=function(r){return this.reverse().first(r)},nt.prototype.filter=function(r){var o;return wi(this._ctx,function(a){return r(a.value)}),(o=this._ctx).isMatch=yr(o.isMatch,r),this},nt.prototype.and=function(r){return this.filter(r)},nt.prototype.or=function(r){return new this.db.WhereClause(this._ctx.table,r,this)},nt.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},nt.prototype.desc=function(){return this.reverse()},nt.prototype.eachKey=function(r){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(a,c){r(c.key,c)})},nt.prototype.eachUniqueKey=function(r){return this._ctx.unique="unique",this.eachKey(r)},nt.prototype.eachPrimaryKey=function(r){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(a,c){r(c.primaryKey,c)})},nt.prototype.keys=function(r){var o=this._ctx,a=(o.keysOnly=!o.isMatch,[]);return this.each(function(c,d){a.push(d.key)}).then(function(){return a}).then(r)},nt.prototype.primaryKeys=function(r){var o=this._ctx;if(Lr(o,!0)&&0<o.limit)return this._read(function(c){var d=Zs(o,o.table.core.schema);return o.table.core.query({trans:c,values:!1,limit:o.limit,direction:o.dir==="prev"?"prev":void 0,query:{index:d,range:o.range}})}).then(function(c){return c.result}).then(r);o.keysOnly=!o.isMatch;var a=[];return this.each(function(c,d){a.push(d.primaryKey)}).then(function(){return a}).then(r)},nt.prototype.uniqueKeys=function(r){return this._ctx.unique="unique",this.keys(r)},nt.prototype.firstKey=function(r){return this.limit(1).keys(function(o){return o[0]}).then(r)},nt.prototype.lastKey=function(r){return this.reverse().firstKey(r)},nt.prototype.distinct=function(){var r,o=this._ctx,o=o.index&&o.table.schema.idxByName[o.index];return o&&o.multi&&(r={},wi(this._ctx,function(c){var c=c.primaryKey.toString(),d=k(r,c);return r[c]=!0,!d})),this},nt.prototype.modify=function(r){var o=this,a=this._ctx;return this._write(function(c){function d(T,P){var W=P.failures;S+=T-P.numFailures;for(var F=0,te=f(W);F<te.length;F++){var ce=te[F];x.push(W[ce])}}var h=typeof r=="function"?r:function(T){return fl(T,r)},g=a.table.core,A=g.schema.primaryKey,_=A.outbound,C=A.extractKey,V=200,A=o.db._options.modifyChunkSize,x=(A&&(V=typeof A=="object"?A[g.name]||A["*"]||200:A),[]),S=0,M=[],O=r===vl;return o.clone().primaryKeys().then(function(T){function P(F){var te=Math.min(V,T.length-F),ce=T.slice(F,F+te);return(O?Promise.resolve([]):g.getMany({trans:c,keys:ce,cache:"immutable"})).then(function(he){var be=[],ve=[],Oe=_?[]:null,ye=O?ce:[];if(!O)for(var Pe=0;Pe<te;++Pe){var pe=he[Pe],Le={value:xe(pe),primKey:T[F+Pe]};h.call(Le,Le.value,Le)!==!1&&(Le.value==null?ye.push(T[F+Pe]):_||Ze(C(pe),C(Le.value))===0?(ve.push(Le.value),_&&Oe.push(T[F+Pe])):(ye.push(T[F+Pe]),be.push(Le.value)))}return Promise.resolve(0<be.length&&g.mutate({trans:c,type:"add",values:be}).then(function(Ve){for(var He in Ve.failures)ye.splice(parseInt(He),1);d(be.length,Ve)})).then(function(){return(0<ve.length||W&&typeof r=="object")&&g.mutate({trans:c,type:"put",keys:Oe,values:ve,criteria:W,changeSpec:typeof r!="function"&&r,isAdditionalChunk:0<F}).then(function(Ve){return d(ve.length,Ve)})}).then(function(){return(0<ye.length||W&&O)&&g.mutate({trans:c,type:"delete",keys:ye,criteria:W,isAdditionalChunk:0<F}).then(function(Ve){return Qs(a.table,ye,Ve)}).then(function(Ve){return d(ye.length,Ve)})}).then(function(){return T.length>F+te&&P(F+V)})})}var W=Lr(a)&&a.limit===1/0&&(typeof r!="function"||O)&&{index:a.index,range:a.range};return P(0).then(function(){if(0<x.length)throw new Ct("Error modifying one or more objects",x,S,M);return T.length})})})},nt.prototype.delete=function(){var r=this._ctx,o=r.range;return!Lr(r)||r.table.schema.yProps||!r.isPrimKey&&o.type!==3?this.modify(vl):this._write(function(a){var c=r.table.core.schema.primaryKey,d=o;return r.table.core.count({trans:a,query:{index:c,range:d}}).then(function(h){return r.table.core.mutate({trans:a,type:"deleteRange",range:d}).then(function(C){var _=C.failures,C=C.numFailures;if(C)throw new Ct("Could not delete some values",Object.keys(_).map(function(V){return _[V]}),h-C);return h-C})})})};var _f=nt;function nt(){}var vl=function(r,o){return o.value=null};function wf(r,o){return r<o?-1:r===o?0:1}function kf(r,o){return o<r?-1:r===o?0:1}function Zt(r,o,a){return r=r instanceof yl?new r.Collection(r):r,r._ctx.error=new(a||TypeError)(o),r}function Vr(r){return new r.Collection(r,function(){return ml("")}).limit(0)}function to(M,o,a,c){var d,h,g,_,C,V,A,x=a.length;if(!a.every(function(T){return typeof T=="string"}))return Zt(M,ol);function S(T){d=T==="next"?function(W){return W.toUpperCase()}:function(W){return W.toLowerCase()},h=T==="next"?function(W){return W.toLowerCase()}:function(W){return W.toUpperCase()},g=T==="next"?wf:kf;var P=a.map(function(W){return{lower:h(W),upper:d(W)}}).sort(function(W,F){return g(W.lower,F.lower)});_=P.map(function(W){return W.upper}),C=P.map(function(W){return W.lower}),A=(V=T)==="next"?"":c}S("next");var M=new M.Collection(M,function(){return Yn(_[0],C[x-1]+c)}),O=(M._ondirectionchange=function(T){S(T)},0);return M._addAlgorithm(function(T,P,W){var F=T.key;if(typeof F=="string"){var te=h(F);if(o(te,C,O))return!0;for(var ce=null,he=O;he<x;++he){var be=((ve,Oe,ye,Pe,pe,Le)=>{for(var Ve=Math.min(ve.length,Pe.length),He=-1,Xe=0;Xe<Ve;++Xe){var en=Oe[Xe];if(en!==Pe[Xe])return pe(ve[Xe],ye[Xe])<0?ve.substr(0,Xe)+ye[Xe]+ye.substr(Xe+1):pe(ve[Xe],Pe[Xe])<0?ve.substr(0,Xe)+Pe[Xe]+ye.substr(Xe+1):0<=He?ve.substr(0,He)+Oe[He]+ye.substr(He+1):null;pe(ve[Xe],en)<0&&(He=Xe)}return Ve<Pe.length&&Le==="next"?ve+ye.substr(ve.length):Ve<ve.length&&Le==="prev"?ve.substr(0,ye.length):He<0?null:ve.substr(0,He)+Pe[He]+ye.substr(He+1)})(F,te,_[he],C[he],g,V);be===null&&ce===null?O=he+1:(ce===null||0<g(ce,be))&&(ce=be)}P(ce!==null?function(){T.continue(ce+A)}:W)}return!1}),M}function Yn(r,o,a,c){return{type:2,lower:r,upper:o,lowerOpen:a,upperOpen:c}}function ml(r){return{type:1,lower:r,upper:r}}Object.defineProperty(Ot.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),Ot.prototype.between=function(r,o,a,c){a=a!==!1,c=c===!0;try{return 0<this._cmp(r,o)||this._cmp(r,o)===0&&(a||c)&&(!a||!c)?Vr(this):new this.Collection(this,function(){return Yn(r,o,!a,!c)})}catch{return Zt(this,Pn)}},Ot.prototype.equals=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return ml(r)})},Ot.prototype.above=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(r,void 0,!0)})},Ot.prototype.aboveOrEqual=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(r,void 0,!1)})},Ot.prototype.below=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(void 0,r,!1,!0)})},Ot.prototype.belowOrEqual=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(void 0,r)})},Ot.prototype.startsWith=function(r){return typeof r!="string"?Zt(this,ol):this.between(r,r+mr,!0,!0)},Ot.prototype.startsWithIgnoreCase=function(r){return r===""?this.startsWith(r):to(this,function(o,a){return o.indexOf(a[0])===0},[r],mr)},Ot.prototype.equalsIgnoreCase=function(r){return to(this,function(o,a){return o===a[0]},[r],"")},Ot.prototype.anyOfIgnoreCase=function(){var r=et.apply(je,arguments);return r.length===0?Vr(this):to(this,function(o,a){return a.indexOf(o)!==-1},r,"")},Ot.prototype.startsWithAnyOfIgnoreCase=function(){var r=et.apply(je,arguments);return r.length===0?Vr(this):to(this,function(o,a){return a.some(function(c){return o.indexOf(c)===0})},r,mr)},Ot.prototype.anyOf=function(){var r,o,a=this,c=et.apply(je,arguments),d=this._cmp;try{c.sort(d)}catch{return Zt(this,Pn)}return c.length===0?Vr(this):((r=new this.Collection(this,function(){return Yn(c[0],c[c.length-1])}))._ondirectionchange=function(h){d=h==="next"?a._ascending:a._descending,c.sort(d)},o=0,r._addAlgorithm(function(h,g,_){for(var C=h.key;0<d(C,c[o]);)if(++o===c.length)return g(_),!1;return d(C,c[o])===0||(g(function(){h.continue(c[o])}),!1)}),r)},Ot.prototype.notEqual=function(r){return this.inAnyRange([[-1/0,r],[r,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Ot.prototype.noneOf=function(){var r=et.apply(je,arguments);if(r.length===0)return new this.Collection(this);try{r.sort(this._ascending)}catch{return Zt(this,Pn)}var o=r.reduce(function(a,c){return a?a.concat([[a[a.length-1][1],c]]):[[-1/0,c]]},null);return o.push([r[r.length-1],this.db._maxKey]),this.inAnyRange(o,{includeLowers:!1,includeUppers:!1})},Ot.prototype.inAnyRange=function(r,W){var a=this,c=this._cmp,d=this._ascending,h=this._descending,g=this._min,_=this._max;if(r.length===0)return Vr(this);if(!r.every(function(F){return F[0]!==void 0&&F[1]!==void 0&&d(F[0],F[1])<=0}))return Zt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",de.InvalidArgument);var C=!W||W.includeLowers!==!1,V=W&&W.includeUppers===!0,A,x=d;function S(F,te){return x(F[0],te[0])}try{(A=r.reduce(function(F,te){for(var ce=0,he=F.length;ce<he;++ce){var be=F[ce];if(c(te[0],be[1])<0&&0<c(te[1],be[0])){be[0]=g(be[0],te[0]),be[1]=_(be[1],te[1]);break}}return ce===he&&F.push(te),F},[])).sort(S)}catch{return Zt(this,Pn)}var M=0,O=V?function(F){return 0<d(F,A[M][1])}:function(F){return 0<=d(F,A[M][1])},T=C?function(F){return 0<h(F,A[M][0])}:function(F){return 0<=h(F,A[M][0])},P=O,W=new this.Collection(this,function(){return Yn(A[0][0],A[A.length-1][1],!C,!V)});return W._ondirectionchange=function(F){x=F==="next"?(P=O,d):(P=T,h),A.sort(S)},W._addAlgorithm(function(F,te,ce){for(var he,be=F.key;P(be);)if(++M===A.length)return te(ce),!1;return!O(he=be)&&!T(he)||(a._cmp(be,A[M][1])===0||a._cmp(be,A[M][0])===0||te(function(){x===d?F.continue(A[M][0]):F.continue(A[M][1])}),!1)}),W},Ot.prototype.startsWithAnyOf=function(){var r=et.apply(je,arguments);return r.every(function(o){return typeof o=="string"})?r.length===0?Vr(this):this.inAnyRange(r.map(function(o){return[o,o+mr]})):Zt(this,"startsWithAnyOf() only works with strings")};var yl=Ot;function Ot(){}function dn(r){return pt(function(o){return os(o),r(o.target.error),!1})}function os(r){r.stopPropagation&&r.stopPropagation(),r.preventDefault&&r.preventDefault()}var no="storagemutated",xi="x-storagemutated-1",Jn=rs(null,no),xf=(yn.prototype._lock=function(){return Y(!Ie.global),++this._reculock,this._reculock!==1||Ie.global||(Ie.lockOwnerFor=this),this},yn.prototype._unlock=function(){if(Y(!Ie.global),--this._reculock==0)for(Ie.global||(Ie.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var r=this._blockedFuncs.shift();try{vr(r[1],r[0])}catch{}}return this},yn.prototype._locked=function(){return this._reculock&&Ie.lockOwnerFor!==this},yn.prototype.create=function(r){var o=this;if(this.mode){var a=this.db.idbdb,c=this.db._state.dbOpenError;if(Y(!this.idbtrans),!r&&!a)switch(c&&c.name){case"DatabaseClosedError":throw new de.DatabaseClosed(c);case"MissingAPIError":throw new de.MissingAPI(c.message,c);default:throw new de.OpenFailed(c)}if(!this.active)throw new de.TransactionInactive;Y(this._completion._state===null),(r=this.idbtrans=r||(this.db.core||a).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=pt(function(d){os(d),o._reject(r.error)}),r.onabort=pt(function(d){os(d),o.active&&o._reject(new de.Abort(r.error)),o.active=!1,o.on("abort").fire(d)}),r.oncomplete=pt(function(){o.active=!1,o._resolve(),"mutatedParts"in r&&Jn.storagemutated.fire(r.mutatedParts)})}return this},yn.prototype._promise=function(r,o,a){var c,d=this;return r==="readwrite"&&this.mode!=="readwrite"?wt(new de.ReadOnly("Transaction is readonly")):this.active?this._locked()?new Se(function(h,g){d._blockedFuncs.push([function(){d._promise(r,o,a).then(h,g)},Ie])}):a?Wn(function(){var h=new Se(function(g,_){d._lock();var C=o(g,_,d);C&&C.then&&C.then(g,_)});return h.finally(function(){return d._unlock()}),h._lib=!0,h}):((c=new Se(function(h,g){var _=o(h,g,d);_&&_.then&&_.then(h,g)}))._lib=!0,c):wt(new de.TransactionInactive)},yn.prototype._root=function(){return this.parent?this.parent._root():this},yn.prototype.waitFor=function(r){var o,a=this._root(),c=Se.resolve(r),d=(a._waitingFor?a._waitingFor=a._waitingFor.then(function(){return c}):(a._waitingFor=c,a._waitingQueue=[],o=a.idbtrans.objectStore(a.storeNames[0]),function h(){for(++a._spinCount;a._waitingQueue.length;)a._waitingQueue.shift()();a._waitingFor&&(o.get(-1/0).onsuccess=h)}()),a._waitingFor);return new Se(function(h,g){c.then(function(_){return a._waitingQueue.push(pt(h.bind(null,_)))},function(_){return a._waitingQueue.push(pt(g.bind(null,_)))}).finally(function(){a._waitingFor===d&&(a._waitingFor=null)})})},yn.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new de.Abort))},yn.prototype.table=function(r){var o=this._memoizedTables||(this._memoizedTables={});if(k(o,r))return o[r];var a=this.schema[r];if(a)return(a=new this.db.Table(r,a,this)).core=this.db.core.table(r),o[r]=a;throw new de.NotFound("Table "+r+" not part of transaction")},yn);function yn(){}function Ci(r,o,a,c,d,h,g,_){return{name:r,keyPath:o,unique:a,multi:c,auto:d,compound:h,src:(a&&!g?"&":"")+(c?"*":"")+(d?"++":"")+gl(o),type:_}}function gl(r){return typeof r=="string"?r:r?"["+[].join.call(r,"+")+"]":""}function Si(r,o,a){return{name:r,primKey:o,indexes:a,mappedClass:null,idxByName:(c=function(d){return[d.name,d]},a.reduce(function(d,h,g){return h=c(h,g),h&&(d[h[0]]=h[1]),d},{}))};var c}var is=function(r){try{return r.only([[]]),is=function(){return[[]]},[[]]}catch{return is=function(){return mr},mr}};function Ei(r){return r==null?function(){}:typeof r=="string"?(o=r).split(".").length===1?function(a){return a[o]}:function(a){return ie(a,o)}:function(a){return ie(a,r)};var o}function bl(r){return[].slice.call(r)}var Cf=0;function as(r){return r==null?":id":typeof r=="string"?r:"[".concat(r.join("+"),"]")}function Sf(r,o,g){function c(P){if(P.type===3)return null;if(P.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var M=P.lower,O=P.upper,T=P.lowerOpen,P=P.upperOpen;return M===void 0?O===void 0?null:o.upperBound(O,!!P):O===void 0?o.lowerBound(M,!!T):o.bound(M,O,!!T,!!P)}function d(S){var M,O,T=S.name;return{name:T,schema:S,mutate:function(P){var W=P.trans,F=P.type,te=P.keys,ce=P.values,he=P.range;return new Promise(function(be,ve){be=pt(be);var Oe=W.objectStore(T),ye=Oe.keyPath==null,Pe=F==="put"||F==="add";if(!Pe&&F!=="delete"&&F!=="deleteRange")throw new Error("Invalid operation type: "+F);var pe,Le=(te||ce||{length:1}).length;if(te&&ce&&te.length!==ce.length)throw new Error("Given keys array must have same length as given values array.");if(Le===0)return be({numFailures:0,failures:{},results:[],lastResult:void 0});function Ve(qt){++en,os(qt)}var He=[],Xe=[],en=0;if(F==="deleteRange"){if(he.type===4)return be({numFailures:en,failures:Xe,results:[],lastResult:void 0});he.type===3?He.push(pe=Oe.clear()):He.push(pe=Oe.delete(c(he)))}else{var ye=Pe?ye?[ce,te]:[ce,null]:[te,null],Ue=ye[0],Kt=ye[1];if(Pe)for(var Rt=0;Rt<Le;++Rt)He.push(pe=Kt&&Kt[Rt]!==void 0?Oe[F](Ue[Rt],Kt[Rt]):Oe[F](Ue[Rt])),pe.onerror=Ve;else for(Rt=0;Rt<Le;++Rt)He.push(pe=Oe[F](Ue[Rt])),pe.onerror=Ve}function vo(qt){qt=qt.target.result,He.forEach(function(_r,qi){return _r.error!=null&&(Xe[qi]=_r.error)}),be({numFailures:en,failures:Xe,results:F==="delete"?te:He.map(function(_r){return _r.result}),lastResult:qt})}pe.onerror=function(qt){Ve(qt),vo(qt)},pe.onsuccess=vo})},getMany:function(P){var W=P.trans,F=P.keys;return new Promise(function(te,ce){te=pt(te);for(var he,be=W.objectStore(T),ve=F.length,Oe=new Array(ve),ye=0,Pe=0,pe=function(He){He=He.target,Oe[He._pos]=He.result,++Pe===ye&&te(Oe)},Le=dn(ce),Ve=0;Ve<ve;++Ve)F[Ve]!=null&&((he=be.get(F[Ve]))._pos=Ve,he.onsuccess=pe,he.onerror=Le,++ye);ye===0&&te(Oe)})},get:function(P){var W=P.trans,F=P.key;return new Promise(function(te,ce){te=pt(te);var he=W.objectStore(T).get(F);he.onsuccess=function(be){return te(be.target.result)},he.onerror=dn(ce)})},query:(M=C,O=V,function(P){return new Promise(function(W,F){W=pt(W);var te,ce,he,be,Le=P.trans,ve=P.values,Oe=P.limit,pe=P.query,ye=(ye=P.direction)!=null?ye:"next",Pe=Oe===1/0?void 0:Oe,Ve=pe.index,pe=pe.range,Le=Le.objectStore(T),Le=Ve.isPrimaryKey?Le:Le.index(Ve.name),Ve=c(pe);if(Oe===0)return W({result:[]});O?(pe={query:Ve,count:Pe,direction:ye},(te=ve?Le.getAll(pe):Le.getAllKeys(pe)).onsuccess=function(He){return W({result:He.target.result})},te.onerror=dn(F)):M&&ye==="next"?((te=ve?Le.getAll(Ve,Pe):Le.getAllKeys(Ve,Pe)).onsuccess=function(He){return W({result:He.target.result})},te.onerror=dn(F)):(ce=0,he=!ve&&"openKeyCursor"in Le?Le.openKeyCursor(Ve,ye):Le.openCursor(Ve,ye),be=[],he.onsuccess=function(){var He=he.result;return!He||(be.push(ve?He.value:He.primaryKey),++ce===Oe)?W({result:be}):void He.continue()},he.onerror=dn(F))})}),openCursor:function(P){var W=P.trans,F=P.values,te=P.query,ce=P.reverse,he=P.unique;return new Promise(function(be,ve){be=pt(be);var Pe=te.index,Oe=te.range,ye=W.objectStore(T),ye=Pe.isPrimaryKey?ye:ye.index(Pe.name),Pe=ce?he?"prevunique":"prev":he?"nextunique":"next",pe=!F&&"openKeyCursor"in ye?ye.openKeyCursor(c(Oe),Pe):ye.openCursor(c(Oe),Pe);pe.onerror=dn(ve),pe.onsuccess=pt(function(Le){var Ve,He,Xe,en,Ue=pe.result;Ue?(Ue.___id=++Cf,Ue.done=!1,Ve=Ue.continue.bind(Ue),He=(He=Ue.continuePrimaryKey)&&He.bind(Ue),Xe=Ue.advance.bind(Ue),en=function(){throw new Error("Cursor not stopped")},Ue.trans=W,Ue.stop=Ue.continue=Ue.continuePrimaryKey=Ue.advance=function(){throw new Error("Cursor not started")},Ue.fail=pt(ve),Ue.next=function(){var Kt=this,Rt=1;return this.start(function(){return Rt--?Kt.continue():Kt.stop()}).then(function(){return Kt})},Ue.start=function(Kt){function Rt(){if(pe.result)try{Kt()}catch(qt){Ue.fail(qt)}else Ue.done=!0,Ue.start=function(){throw new Error("Cursor behind last entry")},Ue.stop()}var vo=new Promise(function(qt,_r){qt=pt(qt),pe.onerror=dn(_r),Ue.fail=_r,Ue.stop=function(qi){Ue.stop=Ue.continue=Ue.continuePrimaryKey=Ue.advance=en,qt(qi)}});return pe.onsuccess=pt(function(qt){pe.onsuccess=Rt,Rt()}),Ue.continue=Ve,Ue.continuePrimaryKey=He,Ue.advance=Xe,Rt(),vo},be(Ue)):be(null)},ve)})},count:function(P){var W=P.query,F=P.trans,te=W.index,ce=W.range;return new Promise(function(he,be){var ve=F.objectStore(T),ve=te.isPrimaryKey?ve:ve.index(te.name),Oe=c(ce),Oe=Oe?ve.count(Oe):ve.count();Oe.onsuccess=pt(function(ye){return he(ye.target.result)}),Oe.onerror=dn(be)})}}}h=g,_=bl((g=r).objectStoreNames),A=0<_.length?h.objectStore(_[0]):{};var h,g={schema:{name:g.name,tables:_.map(function(S){return h.objectStore(S)}).map(function(S){var M=S.keyPath,O=S.autoIncrement,P=p(M),T={},P={name:S.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:M==null,compound:P,keyPath:M,autoIncrement:O,unique:!0,extractKey:Ei(M)},indexes:bl(S.indexNames).map(function(W){return S.index(W)}).map(function(ce){var he=ce.name,F=ce.unique,te=ce.multiEntry,ce=ce.keyPath,he={name:he,compound:p(ce),keyPath:ce,unique:F,multiEntry:te,extractKey:Ei(ce)};return T[as(ce)]=he}),getIndexByKeyPath:function(W){return T[as(W)]}};return T[":id"]=P.primaryKey,M!=null&&(T[as(M)]=P.primaryKey),P})},hasGetAll:0<_.length&&"getAll"in A&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in A},_=g.schema,C=g.hasGetAll,V=g.hasIdb3Features,A=_.tables.map(d),x={};return A.forEach(function(S){return x[S.name]=S}),{stack:"dbcore",transaction:r.transaction.bind(r),table:function(S){if(x[S])return x[S];throw new Error("Table '".concat(S,"' not found"))},MIN_KEY:-1/0,MAX_KEY:is(o),schema:_}}function Ef(r,o,a,c){return a=a.IDBKeyRange,o=Sf(o,a,c),{dbcore:r.dbcore.reduce(function(d,h){return h=h.create,s(s({},d),h(d))},o)}}function ro(r,o){var a=o.db,a=Ef(r._middlewares,a,r._deps,o);r.core=a.dbcore,r.tables.forEach(function(c){var d=c.name;r.core.schema.tables.some(function(h){return h.name===d})&&(c.core=r.core.table(d),r[d]instanceof r.Table)&&(r[d].core=c.core)})}function so(r,o,a,c){a.forEach(function(d){var h=c[d];o.forEach(function(g){var _=function C(V,A){return fe(V,A)||(V=b(V))&&C(V,A)}(g,d);(!_||"value"in _&&_.value===void 0)&&(g===r.Transaction.prototype||g instanceof r.Transaction?N(g,d,{get:function(){return this.table(d)},set:function(C){D(this,d,{value:C,writable:!0,configurable:!0,enumerable:!0})}}):g[d]=new r.Table(d,h))})})}function $i(r,o){o.forEach(function(a){for(var c in a)a[c]instanceof r.Table&&delete a[c]})}function $f(r,o){return r._cfg.version-o._cfg.version}function Af(r,o,a,c){var d=r._dbSchema,h=(a.objectStoreNames.contains("$meta")&&!d.$meta&&(d.$meta=Si("$meta",wl("")[0],[]),r._storeNames.push("$meta")),r._createTransaction("readwrite",r._storeNames,d)),g=(h.create(a),h._completion.catch(c),h._reject.bind(h)),_=Ie.transless||Ie;Wn(function(){if(Ie.trans=h,Ie.transless=_,o!==0)return ro(r,a),V=o,((C=h).storeNames.includes("$meta")?C.table("$meta").get("version").then(function(A){return A??V}):Se.resolve(V)).then(function(P){var x=r,S=P,M=h,O=a,T=[],P=x._versions,W=x._dbSchema=io(0,x.idbdb,O);return(P=P.filter(function(F){return F._cfg.version>=S})).length===0?Se.resolve():(P.forEach(function(F){T.push(function(){var te,ce,he,be=W,ve=F._cfg.dbschema,Oe=(ao(x,be,O),ao(x,ve,O),W=x._dbSchema=ve,Ai(be,ve)),ye=(Oe.add.forEach(function(Pe){Ti(O,Pe[0],Pe[1].primKey,Pe[1].indexes)}),Oe.change.forEach(function(Pe){if(Pe.recreate)throw new de.Upgrade("Not yet support for changing primary key");var pe=O.objectStore(Pe.name);Pe.add.forEach(function(Le){return oo(pe,Le)}),Pe.change.forEach(function(Le){pe.deleteIndex(Le.name),oo(pe,Le)}),Pe.del.forEach(function(Le){return pe.deleteIndex(Le)})}),F._cfg.contentUpgrade);if(ye&&F._cfg.version>S)return ro(x,O),M._memoizedTables={},te=R(ve),Oe.del.forEach(function(Pe){te[Pe]=be[Pe]}),$i(x,[x.Transaction.prototype]),so(x,[x.Transaction.prototype],f(te),te),M.schema=te,(ce=ge(ye))&&Nr(),ve=Se.follow(function(){var Pe;(he=ye(M))&&ce&&(Pe=zn.bind(null,null),he.then(Pe,Pe))}),he&&typeof he.then=="function"?Se.resolve(he):ve.then(function(){return he})}),T.push(function(te){var ce,he,be=F._cfg.dbschema;ce=be,he=te,[].slice.call(he.db.objectStoreNames).forEach(function(ve){return ce[ve]==null&&he.db.deleteObjectStore(ve)}),$i(x,[x.Transaction.prototype]),so(x,[x.Transaction.prototype],x._storeNames,x._dbSchema),M.schema=x._dbSchema}),T.push(function(te){x.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(x.idbdb.version/10)===F._cfg.version?(x.idbdb.deleteObjectStore("$meta"),delete x._dbSchema.$meta,x._storeNames=x._storeNames.filter(function(ce){return ce!=="$meta"})):te.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return T.length?Se.resolve(T.shift()(M.idbtrans)).then(F):Se.resolve()}().then(function(){_l(W,O)}))}).catch(g);var C,V;f(d).forEach(function(A){Ti(a,A,d[A].primKey,d[A].indexes)}),ro(r,a),Se.follow(function(){return r.on.populate.fire(h)}).catch(g)})}function Tf(r,o){_l(r._dbSchema,o),o.db.version%10!=0||o.objectStoreNames.contains("$meta")||o.db.createObjectStore("$meta").add(Math.ceil(o.db.version/10-1),"version");var a=io(0,r.idbdb,o);ao(r,r._dbSchema,o);for(var c=0,d=Ai(a,r._dbSchema).change;c<d.length;c++){var h=(g=>{if(g.change.length||g.recreate)return console.warn("Unable to patch indexes of table ".concat(g.name," because it has changes on the type of index or primary key.")),{value:void 0};var _=o.objectStore(g.name);g.add.forEach(function(C){B&&console.debug("Dexie upgrade patch: Creating missing index ".concat(g.name,".").concat(C.src)),oo(_,C)})})(d[c]);if(typeof h=="object")return h.value}}function Ai(r,o){var a,c={del:[],add:[],change:[]};for(a in r)o[a]||c.del.push(a);for(a in o){var d=r[a],h=o[a];if(d){var g={name:a,def:h,recreate:!1,del:[],add:[],change:[]};if(""+(d.primKey.keyPath||"")!=""+(h.primKey.keyPath||"")||d.primKey.auto!==h.primKey.auto)g.recreate=!0,c.change.push(g);else{var _=d.idxByName,C=h.idxByName,V=void 0;for(V in _)C[V]||g.del.push(V);for(V in C){var A=_[V],x=C[V];A?A.src!==x.src&&g.change.push(x):g.add.push(x)}(0<g.del.length||0<g.add.length||0<g.change.length)&&c.change.push(g)}}else c.add.push([a,h])}return c}function Ti(r,o,a,c){var d=r.db.createObjectStore(o,a.keyPath?{keyPath:a.keyPath,autoIncrement:a.auto}:{autoIncrement:a.auto});c.forEach(function(h){return oo(d,h)})}function _l(r,o){f(r).forEach(function(a){o.db.objectStoreNames.contains(a)||(B&&console.debug("Dexie: Creating missing table",a),Ti(o,a,r[a].primKey,r[a].indexes))})}function oo(r,o){r.createIndex(o.name,o.keyPath,{unique:o.unique,multiEntry:o.multi})}function io(r,o,a){var c={};return E(o.objectStoreNames,0).forEach(function(d){for(var h=a.objectStore(d),g=Ci(gl(V=h.keyPath),V||"",!0,!1,!!h.autoIncrement,V&&typeof V!="string",!0),_=[],C=0;C<h.indexNames.length;++C){var A=h.index(h.indexNames[C]),V=A.keyPath,A=Ci(A.name,V,!!A.unique,!!A.multiEntry,!1,V&&typeof V!="string",!1);_.push(A)}c[d]=Si(d,g,_)}),c}function ao(r,o,a){for(var c=a.db.objectStoreNames,d=0;d<c.length;++d){var h=c[d],g=a.objectStore(h);r._hasGetAll="getAll"in g;for(var _=0;_<g.indexNames.length;++_){var C,V=g.indexNames[_],A=g.index(V).keyPath,A=typeof A=="string"?A:"["+E(A).join("+")+"]";o[h]&&(C=o[h].idxByName[A])&&(C.name=V,delete o[h].idxByName[A],o[h].idxByName[V]=C)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&l.WorkerGlobalScope&&l instanceof l.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(r._hasGetAll=!1)}function wl(r){return r.split(",").map(function(o,a){var d=o.split(":"),c=(c=d[1])==null?void 0:c.trim(),d=(o=d[0].trim()).replace(/([&*]|\+\+)/g,""),h=/^\[/.test(d)?d.match(/^\[(.*)\]$/)[1].split("+"):d;return Ci(d,h||null,/\&/.test(o),/\*/.test(o),/\+\+/.test(o),p(h),a===0,c)})}Fr.prototype._createTableSchema=Si,Fr.prototype._parseIndexSyntax=wl,Fr.prototype._parseStoresSpec=function(r,o){var a=this;f(r).forEach(function(c){if(r[c]!==null){var d=a._parseIndexSyntax(r[c]),h=d.shift();if(!h)throw new de.Schema("Invalid schema for table "+c+": "+r[c]);if(h.unique=!0,h.multi)throw new de.Schema("Primary key cannot be multiEntry*");d.forEach(function(g){if(g.auto)throw new de.Schema("Only primary key can be marked as autoIncrement (++)");if(!g.keyPath)throw new de.Schema("Index must have a name and cannot be an empty string")}),h=a._createTableSchema(c,h,d),o[c]=h}})},Fr.prototype.stores=function(a){var o=this.db,a=(this._cfg.storesSource=this._cfg.storesSource?v(this._cfg.storesSource,a):a,o._versions),c={},d={};return a.forEach(function(h){v(c,h._cfg.storesSource),d=h._cfg.dbschema={},h._parseStoresSpec(c,d)}),o._dbSchema=d,$i(o,[o._allTables,o,o.Transaction.prototype]),so(o,[o._allTables,o,o.Transaction.prototype,this._cfg.tables],f(d),d),o._storeNames=f(d),this},Fr.prototype.upgrade=function(r){return this._cfg.contentUpgrade=q(this._cfg.contentUpgrade||w,r),this};var Of=Fr;function Fr(){}var ls=(()=>{var r,o,a;return typeof FinalizationRegistry<"u"&&typeof WeakRef<"u"?(r=new Set,o=new FinalizationRegistry(function(c){r.delete(c)}),{toArray:function(){return Array.from(r).map(function(c){return c.deref()}).filter(function(c){return c!==void 0})},add:function(c){var d=new WeakRef(c._novip);r.add(d),o.register(c._novip,d,d),r.size>c._options.maxConnections&&(d=r.values().next().value,r.delete(d),o.unregister(d))},remove:function(c){if(c)for(var d=r.values(),h=d.next();!h.done;){var g=h.value;if(g.deref()===c._novip)return r.delete(g),void o.unregister(g);h=d.next()}}}):(a=[],{toArray:function(){return a},add:function(c){a.push(c._novip)},remove:function(c){c&&(c=a.indexOf(c._novip))!==-1&&a.splice(c,1)}})})();function Oi(r,o){var a=r._dbNamesDB;return a||(a=r._dbNamesDB=new Mn(Js,{addons:[],indexedDB:r,IDBKeyRange:o})).version(1).stores({dbnames:"name"}),a.table("dbnames")}function Pi(r){return r&&typeof r.databases=="function"}function Mi(r){return Wn(function(){return Ie.letThrough=!0,r()})}function Ii(r){return!("from"in r)}var jt=function(r,o){var a;if(!this)return a=new jt,r&&"d"in r&&v(a,r),a;v(this,arguments.length?{d:1,from:r,to:1<arguments.length?o:r}:{d:0})};function us(r,o,a){var c=Ze(o,a);if(!isNaN(c)){if(0<c)throw RangeError();if(Ii(r))return v(r,{from:o,to:a,d:1});var c=r.l,d=r.r;if(Ze(a,r.from)<0)return c?us(c,o,a):r.l={from:o,to:a,d:1,l:null,r:null},xl(r);if(0<Ze(o,r.to))return d?us(d,o,a):r.r={from:o,to:a,d:1,l:null,r:null},xl(r);Ze(o,r.from)<0&&(r.from=o,r.l=null,r.d=d?d.d+1:1),0<Ze(a,r.to)&&(r.to=a,r.r=null,r.d=r.l?r.l.d+1:1),o=!r.r,c&&!r.l&&cs(r,c),d&&o&&cs(r,d)}}function cs(r,o){Ii(o)||function a(c,d){var h=d.from,g=d.l,_=d.r;us(c,h,d.to),g&&a(c,g),_&&a(c,_)}(r,o)}function kl(r,o){var a=lo(o),c=a.next();if(!c.done)for(var d=c.value,h=lo(r),g=h.next(d.from),_=g.value;!c.done&&!g.done;){if(Ze(_.from,d.to)<=0&&0<=Ze(_.to,d.from))return!0;Ze(d.from,_.from)<0?d=(c=a.next(_.from)).value:_=(g=h.next(d.from)).value}return!1}function lo(r){var o=Ii(r)?null:{s:0,n:r};return{next:function(a){for(var c=0<arguments.length;o;)switch(o.s){case 0:if(o.s=1,c)for(;o.n.l&&Ze(a,o.n.from)<0;)o={up:o,n:o.n.l,s:1};else for(;o.n.l;)o={up:o,n:o.n.l,s:1};case 1:if(o.s=2,!c||Ze(a,o.n.to)<=0)return{value:o.n,done:!1};case 2:if(o.n.r){o.s=3,o={up:o,n:o.n.r,s:0};continue}case 3:o=o.up}return{done:!0}}}}function xl(r){var o,a,c,d=(((d=r.r)==null?void 0:d.d)||0)-(((d=r.l)==null?void 0:d.d)||0),d=1<d?"r":d<-1?"l":"";d&&(o=d=="r"?"l":"r",a=s({},r),c=r[d],r.from=c.from,r.to=c.to,r[d]=c[d],a[d]=c[o],(r[o]=a).d=Cl(a)),r.d=Cl(r)}function Cl(a){var o=a.r,a=a.l;return(o?a?Math.max(o.d,a.d):o.d:a?a.d:0)+1}function uo(r,o){return f(o).forEach(function(a){r[a]?cs(r[a],o[a]):r[a]=function c(d){var h,g,_={};for(h in d)k(d,h)&&(g=d[h],_[h]=!g||typeof g!="object"||Ee.has(g.constructor)?g:c(g));return _}(o[a])}),r}function Di(r,o){return r.all||o.all||Object.keys(r).some(function(a){return o[a]&&kl(o[a],r[a])})}I(jt.prototype,((We={add:function(r){return cs(this,r),this},addKey:function(r){return us(this,r,r),this},addKeys:function(r){var o=this;return r.forEach(function(a){return us(o,a,a)}),this},hasKey:function(r){var o=lo(this).next(r).value;return o&&Ze(o.from,r)<=0&&0<=Ze(o.to,r)}})[Be]=function(){return lo(this)},We));var gr={},ji={},Ki=!1;function co(r){uo(ji,r),Ki||(Ki=!0,setTimeout(function(){Ki=!1,Ri(ji,!(ji={}))},0))}function Ri(r,o){o===void 0&&(o=!1);var a=new Set;if(r.all)for(var c=0,d=Object.values(gr);c<d.length;c++)Sl(_=d[c],r,a,o);else for(var h in r){var g,_,h=/^idb\:\/\/(.*)\/(.*)\//.exec(h);h&&(g=h[1],h=h[2],_=gr["idb://".concat(g,"/").concat(h)])&&Sl(_,r,a,o)}a.forEach(function(C){return C()})}function Sl(r,o,a,c){for(var d=[],h=0,g=Object.entries(r.queries.query);h<g.length;h++){for(var _=g[h],C=_[0],V=[],A=0,x=_[1];A<x.length;A++){var S=x[A];Di(o,S.obsSet)?S.subscribers.forEach(function(P){return a.add(P)}):c&&V.push(S)}c&&d.push([C,V])}if(c)for(var M=0,O=d;M<O.length;M++){var T=O[M],C=T[0],V=T[1];r.queries.query[C]=V}}function Pf(r){var o=r._state,a=r._deps.indexedDB;if(o.isBeingOpened||r.idbdb)return o.dbReadyPromise.then(function(){return o.dbOpenError?wt(o.dbOpenError):r});o.isBeingOpened=!0,o.dbOpenError=null,o.openComplete=!1;var c=o.openCanceller,d=Math.round(10*r.verno),h=!1;function g(){if(o.openCanceller!==c)throw new de.DatabaseClosed("db.open() was cancelled")}function _(){return new Se(function(S,M){if(g(),!a)throw new de.MissingAPI;var O=r.name,T=o.autoSchema||!d?a.open(O):a.open(O,d);if(!T)throw new de.MissingAPI;T.onerror=dn(M),T.onblocked=pt(r._fireOnBlocked),T.onupgradeneeded=pt(function(P){var W;A=T.transaction,o.autoSchema&&!r._options.allowEmptyDB?(T.onerror=os,A.abort(),T.result.close(),(W=a.deleteDatabase(O)).onsuccess=W.onerror=pt(function(){M(new de.NoSuchDatabase("Database ".concat(O," doesnt exist")))})):(A.onerror=dn(M),W=P.oldVersion>Math.pow(2,62)?0:P.oldVersion,x=W<1,r.idbdb=T.result,h&&Tf(r,A),Af(r,W/10,A,M))},M),T.onsuccess=pt(function(){A=null;var P,W,F,te,ce,he,be=r.idbdb=T.result,ve=E(be.objectStoreNames);if(0<ve.length)try{var Oe=be.transaction((ce=ve).length===1?ce[0]:ce,"readonly");if(o.autoSchema)he=be,te=Oe,(F=r).verno=he.version/10,te=F._dbSchema=io(0,he,te),F._storeNames=E(he.objectStoreNames,0),so(F,[F._allTables],f(te),te);else if(ao(r,r._dbSchema,Oe),W=Oe,((W=Ai(io(0,(P=r).idbdb,W),P._dbSchema)).add.length||W.change.some(function(ye){return ye.add.length||ye.change.length}))&&!h)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),be.close(),d=be.version+1,h=!0,S(_());ro(r,Oe)}catch{}ls.add(r),be.onversionchange=pt(function(ye){o.vcFired=!0,r.on("versionchange").fire(ye)}),be.onclose=pt(function(){r.close({disableAutoOpen:!1})}),x&&(ve=r._deps,ce=O,Pi(he=ve.indexedDB)||ce===Js||Oi(he,ve.IDBKeyRange).put({name:ce}).catch(w)),S()},M)}).catch(function(S){switch(S==null?void 0:S.name){case"UnknownError":if(0<o.PR1398_maxLoop)return o.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),_();break;case"VersionError":if(0<d)return d=0,_()}return Se.reject(S)})}var C,V=o.dbReadyResolve,A=null,x=!1;return Se.race([c,(typeof navigator>"u"?Se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(S){function M(){return indexedDB.databases().finally(S)}C=setInterval(M,100),M()}).finally(function(){return clearInterval(C)}):Promise.resolve()).then(_)]).then(function(){return g(),o.onReadyBeingFired=[],Se.resolve(Mi(function(){return r.on.ready.fire(r.vip)})).then(function S(){var M;if(0<o.onReadyBeingFired.length)return M=o.onReadyBeingFired.reduce(q,w),o.onReadyBeingFired=[],Se.resolve(Mi(function(){return M(r.vip)})).then(S)})}).finally(function(){o.openCanceller===c&&(o.onReadyBeingFired=null,o.isBeingOpened=!1)}).catch(function(S){o.dbOpenError=S;try{A&&A.abort()}catch{}return c===o.openCanceller&&r._close(),wt(S)}).finally(function(){o.openComplete=!0,V()}).then(function(){var S;return x&&(S={},r.tables.forEach(function(M){M.schema.indexes.forEach(function(O){O.name&&(S["idb://".concat(r.name,"/").concat(M.name,"/").concat(O.name)]=new jt(-1/0,[[[]]]))}),S["idb://".concat(r.name,"/").concat(M.name,"/")]=S["idb://".concat(r.name,"/").concat(M.name,"/:dels")]=new jt(-1/0,[[[]]])}),Jn(no).fire(S),Ri(S,!0)),r})}function Ni(r){function o(h){return r.next(h)}var a=d(o),c=d(function(h){return r.throw(h)});function d(h){return function(_){var _=h(_),C=_.value;return _.done?C:C&&typeof C.then=="function"?C.then(a,c):p(C)?Promise.all(C).then(a,c):a(C)}}return d(o)()}function fo(r,o,a){for(var c=p(r)?r.slice():[r],d=0;d<a;++d)c.push(o);return c}var Mf={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(r){return s(s({},r),{table:function(c){var a=r.table(c),c=a.schema,d=Object.create(null),h=[];function g(S,M,O){var F=as(S),T=d[F]=d[F]||[],P=S==null?0:typeof S=="string"?1:S.length,W=0<M,F=s(s({},O),{name:W?"".concat(F,"(virtual-from:").concat(O.name,")"):O.name,lowLevelIndex:O,isVirtual:W,keyTail:M,keyLength:P,extractKey:Ei(S),unique:!W&&O.unique});return T.push(F),F.isPrimaryKey||h.push(F),1<P&&g(P===2?S[0]:S.slice(0,P-1),M+1,O),T.sort(function(te,ce){return te.keyTail-ce.keyTail}),F}var _=g(c.primaryKey.keyPath,0,c.primaryKey);d[":id"]=[_];for(var C=0,V=c.indexes;C<V.length;C++){var A=V[C];g(A.keyPath,0,A)}function x(S){var M,O=S.query.index;return O.isVirtual?s(s({},S),{query:{index:O.lowLevelIndex,range:(M=S.query.range,O=O.keyTail,{type:M.type===1?2:M.type,lower:fo(M.lower,M.lowerOpen?r.MAX_KEY:r.MIN_KEY,O),lowerOpen:!0,upper:fo(M.upper,M.upperOpen?r.MIN_KEY:r.MAX_KEY,O),upperOpen:!0})}}):S}return s(s({},a),{schema:s(s({},c),{primaryKey:_,indexes:h,getIndexByKeyPath:function(S){return(S=d[as(S)])&&S[0]}}),count:function(S){return a.count(x(S))},query:function(S){return a.query(x(S))},openCursor:function(S){var M=S.query.index,O=M.keyTail,T=M.keyLength;return M.isVirtual?a.openCursor(x(S)).then(function(W){return W&&P(W)}):a.openCursor(S);function P(W){return Object.create(W,{continue:{value:function(F){F!=null?W.continue(fo(F,S.reverse?r.MAX_KEY:r.MIN_KEY,O)):S.unique?W.continue(W.key.slice(0,T).concat(S.reverse?r.MIN_KEY:r.MAX_KEY,O)):W.continue()}},continuePrimaryKey:{value:function(F,te){W.continuePrimaryKey(fo(F,r.MAX_KEY,O),te)}},primaryKey:{get:function(){return W.primaryKey}},key:{get:function(){var F=W.key;return T===1?F[0]:F.slice(0,T)}},value:{get:function(){return W.value}}})}}})}})}};function Li(r,o,a,c){return a=a||{},c=c||"",f(r).forEach(function(d){var h,g,_;k(o,d)?(h=r[d],g=o[d],typeof h=="object"&&typeof g=="object"&&h&&g?(_=tt(h))!==tt(g)?a[c+d]=o[d]:_==="Object"?Li(h,g,a,c+d+"."):h!==g&&(a[c+d]=o[d]):h!==g&&(a[c+d]=o[d])):a[c+d]=void 0}),f(o).forEach(function(d){k(r,d)||(a[c+d]=o[d])}),a}function Vi(r,o){return o.type==="delete"?o.keys:o.keys||o.values.map(r.extractKey)}var If={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(r){return s(s({},r),{table:function(o){var a=r.table(o),c=a.schema.primaryKey;return s(s({},a),{mutate:function(d){var h=Ie.trans,g=h.table(o).hook,_=g.deleting,C=g.creating,V=g.updating;switch(d.type){case"add":if(C.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"put":if(C.fire===w&&V.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"delete":if(_.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"deleteRange":if(_.fire===w)break;return h._promise("readwrite",function(){return function x(S,M,O){return a.query({trans:S,values:!1,query:{index:c,range:M},limit:O}).then(function(T){var P=T.result;return A({type:"delete",keys:P,trans:S}).then(function(W){return 0<W.numFailures?Promise.reject(W.failures[0]):P.length<O?{failures:[],numFailures:0,lastResult:void 0}:x(S,s(s({},M),{lower:P[P.length-1],lowerOpen:!0}),O)})})}(d.trans,d.range,1e4)},!0)}return a.mutate(d);function A(x){var S,M,O,T=Ie.trans,P=x.keys||Vi(c,x);if(P)return(x=x.type==="add"||x.type==="put"?s(s({},x),{keys:P}):s({},x)).type!=="delete"&&(x.values=i([],x.values)),x.keys&&(x.keys=i([],x.keys)),S=a,O=P,((M=x).type==="add"?Promise.resolve([]):S.getMany({trans:M.trans,keys:O,cache:"immutable"})).then(function(W){var F=P.map(function(te,ce){var he,be,ve,Oe=W[ce],ye={onerror:null,onsuccess:null};return x.type==="delete"?_.fire.call(ye,te,Oe,T):x.type==="add"||Oe===void 0?(he=C.fire.call(ye,te,x.values[ce],T),te==null&&he!=null&&(x.keys[ce]=te=he,c.outbound||oe(x.values[ce],c.keyPath,te))):(he=Li(Oe,x.values[ce]),(be=V.fire.call(ye,he,te,Oe,T))&&(ve=x.values[ce],Object.keys(be).forEach(function(Pe){k(ve,Pe)?ve[Pe]=be[Pe]:oe(ve,Pe,be[Pe])}))),ye});return a.mutate(x).then(function(te){for(var ce=te.failures,he=te.results,be=te.numFailures,te=te.lastResult,ve=0;ve<P.length;++ve){var Oe=(he||P)[ve],ye=F[ve];Oe==null?ye.onerror&&ye.onerror(ce[ve]):ye.onsuccess&&ye.onsuccess(x.type==="put"&&W[ve]?x.values[ve]:Oe)}return{failures:ce,results:he,numFailures:be,lastResult:te}}).catch(function(te){return F.forEach(function(ce){return ce.onerror&&ce.onerror(te)}),Promise.reject(te)})});throw new Error("Keys missing")}}})}})}};function El(r,o,a){try{if(!o||o.keys.length<r.length)return null;for(var c=[],d=0,h=0;d<o.keys.length&&h<r.length;++d)Ze(o.keys[d],r[h])===0&&(c.push(a?xe(o.values[d]):o.values[d]),++h);return c.length===r.length?c:null}catch{return null}}var Df={stack:"dbcore",level:-1,create:function(r){return{table:function(o){var a=r.table(o);return s(s({},a),{getMany:function(c){var d;return c.cache?(d=El(c.keys,c.trans._cache,c.cache==="clone"))?Se.resolve(d):a.getMany(c).then(function(h){return c.trans._cache={keys:c.keys,values:c.cache==="clone"?xe(h):h},h}):a.getMany(c)},mutate:function(c){return c.type!=="add"&&(c.trans._cache=null),a.mutate(c)}})}}}};function $l(r,o){return r.trans.mode==="readonly"&&!!r.subscr&&!r.trans.explicit&&r.trans.db._options.cache!=="disabled"&&!o.schema.primaryKey.outbound}function Al(r,o){switch(r){case"query":return o.values&&!o.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var jf={stack:"dbcore",level:0,name:"Observability",create:function(r){var o=r.schema.name,a=new jt(r.MIN_KEY,r.MAX_KEY);return s(s({},r),{transaction:function(c,d,h){if(Ie.subscr&&d!=="readonly")throw new de.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(Ie.querier));return r.transaction(c,d,h)},table:function(c){function d(P){var T,P=P.query;return[T=P.index,new jt((T=(P=P.range).lower)!=null?T:r.MIN_KEY,(T=P.upper)!=null?T:r.MAX_KEY)]}var h=r.table(c),g=h.schema,_=g.primaryKey,C=g.indexes,V=_.extractKey,A=_.outbound,x=_.autoIncrement&&C.filter(function(O){return O.compound&&O.keyPath.includes(_.keyPath)}),S=s(s({},h),{mutate:function(O){function T(pe){return pe="idb://".concat(o,"/").concat(c,"/").concat(pe),ce[pe]||(ce[pe]=new jt)}var P,W,F,te=O.trans,ce=O.mutatedParts||(O.mutatedParts={}),he=T(""),be=T(":dels"),ve=O.type,ye=O.type==="deleteRange"?[O.range]:O.type==="delete"?[O.keys]:O.values.length<50?[Vi(_,O).filter(function(pe){return pe}),O.values]:[],Oe=ye[0],ye=ye[1],Pe=O.trans._cache;return p(Oe)?(he.addKeys(Oe),(ve=ve==="delete"||Oe.length===ye.length?El(Oe,Pe):null)||be.addKeys(Oe),(ve||ye)&&(P=T,W=ve,F=ye,g.indexes.forEach(function(pe){var Le=P(pe.name||"");function Ve(Xe){return Xe!=null?pe.extractKey(Xe):null}function He(Xe){pe.multiEntry&&p(Xe)?Xe.forEach(function(en){return Le.addKey(en)}):Le.addKey(Xe)}(W||F).forEach(function(Xe,Kt){var Ue=W&&Ve(W[Kt]),Kt=F&&Ve(F[Kt]);Ze(Ue,Kt)!==0&&(Ue!=null&&He(Ue),Kt!=null)&&He(Kt)})}))):Oe?(ye={from:(Pe=Oe.lower)!=null?Pe:r.MIN_KEY,to:(ve=Oe.upper)!=null?ve:r.MAX_KEY},be.add(ye),he.add(ye)):(he.add(a),be.add(a),g.indexes.forEach(function(pe){return T(pe.name).add(a)})),h.mutate(O).then(function(pe){return!Oe||O.type!=="add"&&O.type!=="put"||(he.addKeys(pe.results),x&&x.forEach(function(Le){for(var Ve=O.values.map(function(Ue){return Le.extractKey(Ue)}),He=Le.keyPath.findIndex(function(Ue){return Ue===_.keyPath}),Xe=0,en=pe.results.length;Xe<en;++Xe)Ve[Xe][He]=pe.results[Xe];T(Le.name).addKeys(Ve)})),te.mutatedParts=uo(te.mutatedParts||{},ce),pe})}}),M={get:function(O){return[_,new jt(O.key)]},getMany:function(O){return[_,new jt().addKeys(O.keys)]},count:d,query:d,openCursor:d};return f(M).forEach(function(O){S[O]=function(T){var P=Ie.subscr,W=!!P,F=$l(Ie,h)&&Al(O,T)?T.obsSet={}:P;if(W){var te,P=function(ye){return ye="idb://".concat(o,"/").concat(c,"/").concat(ye),F[ye]||(F[ye]=new jt)},ce=P(""),he=P(":dels"),W=M[O](T),be=W[0],W=W[1];if((O==="query"&&be.isPrimaryKey&&!T.values?he:P(be.name||"")).add(W),!be.isPrimaryKey){if(O!=="count")return te=O==="query"&&A&&T.values&&h.query(s(s({},T),{values:!1})),h[O].apply(this,arguments).then(function(ye){if(O==="query"){if(A&&T.values)return te.then(function(Ve){return Ve=Ve.result,ce.addKeys(Ve),ye});var Pe=T.values?ye.result.map(V):ye.result;(T.values?ce:he).addKeys(Pe)}else{var pe,Le;if(O==="openCursor")return Le=T.values,(pe=ye)&&Object.create(pe,{key:{get:function(){return he.addKey(pe.primaryKey),pe.key}},primaryKey:{get:function(){var Ve=pe.primaryKey;return he.addKey(Ve),Ve}},value:{get:function(){return Le&&ce.addKey(pe.primaryKey),pe.value}}})}return ye});he.add(a)}}return h[O].apply(this,arguments)}}),S}})}};function Tl(r,o,a){var c;return a.numFailures===0?o:o.type==="deleteRange"||(c=o.keys?o.keys.length:"values"in o&&o.values?o.values.length:1,a.numFailures===c)?null:(c=s({},o),p(c.keys)&&(c.keys=c.keys.filter(function(d,h){return!(h in a.failures)})),"values"in c&&p(c.values)&&(c.values=c.values.filter(function(d,h){return!(h in a.failures)})),c)}function Fi(r,o){return a=r,((c=o).lower===void 0||(c.lowerOpen?0<Ze(a,c.lower):0<=Ze(a,c.lower)))&&(a=r,(c=o).upper===void 0||(c.upperOpen?Ze(a,c.upper)<0:Ze(a,c.upper)<=0));var a,c}function Ol(r,o,a,c,d,h){var g,_,C,V,A,x,S;return!a||a.length===0||(g=o.query.index,_=g.multiEntry,C=o.query.range,V=c.schema.primaryKey.extractKey,A=g.extractKey,x=(g.lowLevelIndex||g).extractKey,(c=a.reduce(function(M,O){var T=M,P=[];if(O.type==="add"||O.type==="put")for(var W=new jt,F=O.values.length-1;0<=F;--F){var te,ce=O.values[F],he=V(ce);!W.hasKey(he)&&(te=A(ce),_&&p(te)?te.some(function(Pe){return Fi(Pe,C)}):Fi(te,C))&&(W.addKey(he),P.push(ce))}switch(O.type){case"add":var be=new jt().addKeys(o.values?M.map(function(pe){return V(pe)}):M),T=M.concat(o.values?P.filter(function(pe){return pe=V(pe),!be.hasKey(pe)&&(be.addKey(pe),!0)}):P.map(function(pe){return V(pe)}).filter(function(pe){return!be.hasKey(pe)&&(be.addKey(pe),!0)}));break;case"put":var ve=new jt().addKeys(O.values.map(function(pe){return V(pe)}));T=M.filter(function(pe){return!ve.hasKey(o.values?V(pe):pe)}).concat(o.values?P:P.map(function(pe){return V(pe)}));break;case"delete":var Oe=new jt().addKeys(O.keys);T=M.filter(function(pe){return!Oe.hasKey(o.values?V(pe):pe)});break;case"deleteRange":var ye=O.range;T=M.filter(function(pe){return!Fi(V(pe),ye)})}return T},r))===r)?r:(S=function(M,O){return Ze(x(M),x(O))||Ze(V(M),V(O))},c.sort(o.direction==="prev"||o.direction==="prevunique"?function(M,O){return S(O,M)}:S),o.limit&&o.limit<1/0&&(c.length>o.limit?c.length=o.limit:r.length===o.limit&&c.length<o.limit&&(d.dirty=!0)),h?Object.freeze(c):c)}function Pl(r,o){return Ze(r.lower,o.lower)===0&&Ze(r.upper,o.upper)===0&&!!r.lowerOpen==!!o.lowerOpen&&!!r.upperOpen==!!o.upperOpen}function Kf(r,o){return((a,c,d,h)=>{if(a===void 0)return c!==void 0?-1:0;if(c===void 0)return 1;if((a=Ze(a,c))===0){if(d&&h)return 0;if(d)return 1;if(h)return-1}return a})(r.lower,o.lower,r.lowerOpen,o.lowerOpen)<=0&&0<=((a,c,d,h)=>{if(a===void 0)return c!==void 0?1:0;if(c===void 0)return-1;if((a=Ze(a,c))===0){if(d&&h)return 0;if(d)return-1;if(h)return 1}return a})(r.upper,o.upper,r.upperOpen,o.upperOpen)}function Rf(r,o,a,c){r.subscribers.add(a),c.addEventListener("abort",function(){var d,h;r.subscribers.delete(a),r.subscribers.size===0&&(d=r,h=o,setTimeout(function(){d.subscribers.size===0&&_e(h,d)},3e3))})}var Nf={stack:"dbcore",level:0,name:"Cache",create:function(r){var o=r.schema.name;return s(s({},r),{transaction:function(a,c,d){var h,g,_=r.transaction(a,c,d);return c==="readwrite"&&(d=(h=new AbortController).signal,_.addEventListener("abort",(g=function(C){return function(){if(h.abort(),c==="readwrite"){for(var V=new Set,A=0,x=a;A<x.length;A++){var S=x[A],M=gr["idb://".concat(o,"/").concat(S)];if(M){var O=r.table(S),T=M.optimisticOps.filter(function(pe){return pe.trans===_});if(_._explicit&&C&&_.mutatedParts)for(var P=0,W=Object.values(M.queries.query);P<W.length;P++)for(var F=0,te=(be=W[P]).slice();F<te.length;F++)Di((ve=te[F]).obsSet,_.mutatedParts)&&(_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)}));else if(0<T.length){M.optimisticOps=M.optimisticOps.filter(function(pe){return pe.trans!==_});for(var ce=0,he=Object.values(M.queries.query);ce<he.length;ce++)for(var be,ve,Oe,ye=0,Pe=(be=he[ce]).slice();ye<Pe.length;ye++)(ve=Pe[ye]).res!=null&&_.mutatedParts&&(C&&!ve.dirty?(Oe=Object.isFrozen(ve.res),Oe=Ol(ve.res,ve.req,T,O,ve,Oe),ve.dirty?(_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)})):Oe!==ve.res&&(ve.res=Oe,ve.promise=Se.resolve({result:Oe}))):(ve.dirty&&_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)})))}}}V.forEach(function(pe){return pe()})}}})(!1),{signal:d}),_.addEventListener("error",g(!1),{signal:d}),_.addEventListener("complete",g(!0),{signal:d})),_},table:function(a){var c=r.table(a),d=c.schema.primaryKey;return s(s({},c),{mutate:function(h){var g,_=Ie.trans;return!d.outbound&&_.db._options.cache!=="disabled"&&!_.explicit&&_.idbtrans.mode==="readwrite"&&(g=gr["idb://".concat(o,"/").concat(a)])?(_=c.mutate(h),h.type!=="add"&&h.type!=="put"||!(50<=h.values.length||Vi(d,h).some(function(C){return C==null}))?(g.optimisticOps.push(h),h.mutatedParts&&co(h.mutatedParts),_.then(function(C){0<C.numFailures&&(_e(g.optimisticOps,h),(C=Tl(0,h,C))&&g.optimisticOps.push(C),h.mutatedParts)&&co(h.mutatedParts)}),_.catch(function(){_e(g.optimisticOps,h),h.mutatedParts&&co(h.mutatedParts)})):_.then(function(C){var V=Tl(0,s(s({},h),{values:h.values.map(function(A,x){var S;return C.failures[x]?A:(oe(S=(S=d.keyPath)!=null&&S.includes(".")?xe(A):s({},A),d.keyPath,C.results[x]),S)})}),C);g.optimisticOps.push(V),queueMicrotask(function(){return h.mutatedParts&&co(h.mutatedParts)})}),_):c.mutate(h)},query:function(h){var g,_,C,V,A,x,S;return $l(Ie,c)&&Al("query",h)?(g=((C=Ie.trans)==null?void 0:C.db._options.cache)==="immutable",_=(C=Ie).requery,C=C.signal,x=((M,O,T,P)=>{var W=gr["idb://".concat(M,"/").concat(O)];if(!W)return[];if(!(M=W.queries[T]))return[null,!1,W,null];var F=M[(P.query?P.query.index.name:null)||""];if(!F)return[null,!1,W,null];switch(T){case"query":var te=(ce=P.direction)!=null?ce:"next",ce=F.find(function(he){var be;return he.req.limit===P.limit&&he.req.values===P.values&&((be=he.req.direction)!=null?be:"next")===te&&Pl(he.req.query.range,P.query.range)});return ce?[ce,!0,W,F]:[F.find(function(he){var be;return("limit"in he.req?he.req.limit:1/0)>=P.limit&&((be=he.req.direction)!=null?be:"next")===te&&(!P.values||he.req.values)&&Kf(he.req.query.range,P.query.range)}),!1,W,F];case"count":return ce=F.find(function(he){return Pl(he.req.query.range,P.query.range)}),[ce,!!ce,W,F]}})(o,a,"query",h),S=x[0],V=x[2],A=x[3],S&&x[1]?S.obsSet=h.obsSet:(x=c.query(h).then(function(M){var O=M.result;if(S&&(S.res=O),g){for(var T=0,P=O.length;T<P;++T)Object.freeze(O[T]);Object.freeze(O)}return M}).catch(function(M){return A&&S&&_e(A,S),Promise.reject(M)}),S={obsSet:h.obsSet,promise:x,subscribers:new Set,type:"query",req:h,dirty:!1},A?A.push(S):(A=[S],(V=V||(gr["idb://".concat(o,"/").concat(a)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[h.query.index.name||""]=A)),Rf(S,A,_,C),S.promise.then(function(M){return M=Ol(M.result,h,V==null?void 0:V.optimisticOps,c,S,g),{result:g?M:xe(M)}})):c.query(h)}})}})}};function po(r,o){return new Proxy(r,{get:function(a,c,d){return c==="db"?o:Reflect.get(a,c,d)}})}kt.prototype.version=function(r){if(isNaN(r)||r<.1)throw new de.Type("Given version is not a positive number");if(r=Math.round(10*r)/10,this.idbdb||this._state.isBeingOpened)throw new de.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,r);var o=this._versions,a=o.filter(function(c){return c._cfg.version===r})[0];return a||(a=new this.Version(r),o.push(a),o.sort($f),a.stores({}),this._state.autoSchema=!1),a},kt.prototype._whenReady=function(r){var o=this;return this.idbdb&&(this._state.openComplete||Ie.letThrough||this._vip)?r():new Se(function(a,c){if(o._state.openComplete)return c(new de.DatabaseClosed(o._state.dbOpenError));if(!o._state.isBeingOpened){if(!o._state.autoOpen)return void c(new de.DatabaseClosed);o.open().catch(w)}o._state.dbReadyPromise.then(a,c)}).then(r)},kt.prototype.use=function(d){var o=d.stack,a=d.create,c=d.level,d=d.name,h=(d&&this.unuse({stack:o,name:d}),this._middlewares[o]||(this._middlewares[o]=[]));return h.push({stack:o,create:a,level:c??10,name:d}),h.sort(function(g,_){return g.level-_.level}),this},kt.prototype.unuse=function(r){var o=r.stack,a=r.name,c=r.create;return o&&this._middlewares[o]&&(this._middlewares[o]=this._middlewares[o].filter(function(d){return c?d.create!==c:!!a&&d.name!==a})),this},kt.prototype.open=function(){var r=this;return vr(St,function(){return Pf(r)})},kt.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var r=this._state;if(ls.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}r.isBeingOpened||(r.dbReadyPromise=new Se(function(o){r.dbReadyResolve=o}),r.openCanceller=new Se(function(o,a){r.cancelOpen=a}))},kt.prototype.close=function(o){var o=(o===void 0?{disableAutoOpen:!0}:o).disableAutoOpen,a=this._state;o?(a.isBeingOpened&&a.cancelOpen(new de.DatabaseClosed),this._close(),a.autoOpen=!1,a.dbOpenError=new de.DatabaseClosed):(this._close(),a.autoOpen=this._options.autoOpen||a.isBeingOpened,a.openComplete=!1,a.dbOpenError=null)},kt.prototype.delete=function(r){var o=this,a=(r===void 0&&(r={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),c=this._state;return new Se(function(d,h){function g(){o.close(r);var _=o._deps.indexedDB.deleteDatabase(o.name);_.onsuccess=pt(function(){var C,V,A;C=o._deps,V=o.name,Pi(A=C.indexedDB)||V===Js||Oi(A,C.IDBKeyRange).delete(V).catch(w),d()}),_.onerror=dn(h),_.onblocked=o._fireOnBlocked}if(a)throw new de.InvalidArgument("Invalid closeOptions argument to db.delete()");c.isBeingOpened?c.dbReadyPromise.then(g):g()})},kt.prototype.backendDB=function(){return this.idbdb},kt.prototype.isOpen=function(){return this.idbdb!==null},kt.prototype.hasBeenClosed=function(){var r=this._state.dbOpenError;return r&&r.name==="DatabaseClosed"},kt.prototype.hasFailed=function(){return this._state.dbOpenError!==null},kt.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(kt.prototype,"tables",{get:function(){var r=this;return f(this._allTables).map(function(o){return r._allTables[o]})},enumerable:!1,configurable:!0}),kt.prototype.transaction=function(){var r=(function(o,a,c){var d=arguments.length;if(d<2)throw new de.InvalidArgument("Too few arguments");for(var h=new Array(d-1);--d;)h[d-1]=arguments[d];return c=h.pop(),[o,le(h),c]}).apply(this,arguments);return this._transaction.apply(this,r)},kt.prototype._transaction=function(r,o,a){var c,d,h=this,g=Ie.trans,_=(g&&g.db===this&&r.indexOf("!")===-1||(g=null),r.indexOf("?")!==-1);r=r.replace("!","").replace("?","");try{if(d=o.map(function(V){if(V=V instanceof h.Table?V.name:V,typeof V!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return V}),r=="r"||r===bi)c=bi;else{if(r!="rw"&&r!=_i)throw new de.InvalidArgument("Invalid transaction mode: "+r);c=_i}if(g){if(g.mode===bi&&c===_i){if(!_)throw new de.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");g=null}g&&d.forEach(function(V){if(g&&g.storeNames.indexOf(V)===-1){if(!_)throw new de.SubTransaction("Table "+V+" not included in parent transaction.");g=null}}),_&&g&&!g.active&&(g=null)}}catch(V){return g?g._promise(null,function(A,x){x(V)}):wt(V)}var C=(function V(A,x,S,M,O){return Se.resolve().then(function(){var F=Ie.transless||Ie,T=A._createTransaction(x,S,A._dbSchema,M),F=(T.explicit=!0,{trans:T,transless:F});if(M)T.idbtrans=M.idbtrans;else try{T.create(),T.idbtrans._explicit=!0,A._state.PR1398_maxLoop=3}catch(te){return te.name===Jt.InvalidState&&A.isOpen()&&0<--A._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),A.close({disableAutoOpen:!1}),A.open().then(function(){return V(A,x,S,null,O)})):wt(te)}var P,W=ge(O),F=(W&&Nr(),Se.follow(function(){var te;(P=O.call(T,T))&&(W?(te=zn.bind(null,null),P.then(te,te)):typeof P.next=="function"&&typeof P.throw=="function"&&(P=Ni(P)))},F));return(P&&typeof P.then=="function"?Se.resolve(P).then(function(te){return T.active?te:wt(new de.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):F.then(function(){return P})).then(function(te){return M&&T._resolve(),T._completion.then(function(){return te})}).catch(function(te){return T._reject(te),wt(te)})})}).bind(null,this,c,d,g,a);return g?g._promise(c,C,"lock"):Ie.trans?vr(Ie.transless,function(){return h._whenReady(C)}):this._whenReady(C)},kt.prototype.table=function(r){if(k(this._allTables,r))return this._allTables[r];throw new de.InvalidTable("Table ".concat(r," does not exist"))};var Mn=kt;function kt(r,o){var a,c,d,h,g,_=this,C=(this._middlewares={},this.verno=0,kt.dependencies),C=(this._options=o=s({addons:kt.addons,autoOpen:!0,indexedDB:C.indexedDB,IDBKeyRange:C.IDBKeyRange,cache:"cloned",maxConnections:1e3},o),this._deps={indexedDB:o.indexedDB,IDBKeyRange:o.IDBKeyRange},o.addons),V=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:w,dbReadyPromise:null,cancelOpen:w,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:o.autoOpen}),A=(V.dbReadyPromise=new Se(function(x){V.dbReadyResolve=x}),V.openCanceller=new Se(function(x,S){V.cancelOpen=S}),this._state=V,this.name=r,this.on=rs(this,"populate","blocked","versionchange","close",{ready:[q,w]}),this.once=function(x,S){var M=function(){for(var O=[],T=0;T<arguments.length;T++)O[T]=arguments[T];_.on(x).unsubscribe(M),S.apply(_,O)};return _.on(x,M)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(x){return function(S,M){kt.vip(function(){var O,T=_._state;T.openComplete?(T.dbOpenError||Se.resolve().then(S),M&&x(S)):T.onReadyBeingFired?(T.onReadyBeingFired.push(S),M&&x(S)):(x(S),O=_,M||x(function P(){O.on.ready.unsubscribe(S),O.on.ready.unsubscribe(P)}))})}}),this.Collection=(a=this,ss(_f.prototype,function(P,T){this.db=a;var M=il,O=null;if(T)try{M=T()}catch(F){O=F}var T=P._ctx,P=T.table,W=P.hook.reading.fire;this._ctx={table:P,index:T.index,isPrimKey:!T.index||P.schema.primKey.keyPath&&T.index===P.schema.primKey.name,range:M,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:O,or:T.or,valueMapper:W!==H?W:null}})),this.Table=(c=this,ss(dl.prototype,function(x,S,M){this.db=c,this._tx=M,this.name=x,this.schema=S,this.hook=c._allTables[x]?c._allTables[x].hook:rs(null,{creating:[Z,w],reading:[ue,H],updating:[me,w],deleting:[we,w]})})),this.Transaction=(d=this,ss(xf.prototype,function(x,S,M,O,T){var P=this;x!=="readonly"&&S.forEach(function(W){W=(W=M[W])==null?void 0:W.yProps,W&&(S=S.concat(W.map(function(F){return F.updatesTable})))}),this.db=d,this.mode=x,this.storeNames=S,this.schema=M,this.chromeTransactionDurability=O,this.idbtrans=null,this.on=rs(this,"complete","error","abort"),this.parent=T||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new Se(function(W,F){P._resolve=W,P._reject=F}),this._completion.then(function(){P.active=!1,P.on.complete.fire()},function(W){var F=P.active;return P.active=!1,P.on.error.fire(W),P.parent?P.parent._reject(W):F&&P.idbtrans&&P.idbtrans.abort(),wt(W)})})),this.Version=(h=this,ss(Of.prototype,function(x){this.db=h,this._cfg={version:x,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(g=this,ss(yl.prototype,function(x,S,M){if(this.db=g,this._ctx={table:x,index:S===":id"?null:S,or:M},this._cmp=this._ascending=Ze,this._descending=function(O,T){return Ze(T,O)},this._max=function(O,T){return 0<Ze(O,T)?O:T},this._min=function(O,T){return Ze(O,T)<0?O:T},this._IDBKeyRange=g._deps.IDBKeyRange,!this._IDBKeyRange)throw new de.MissingAPI})),this.on("versionchange",function(x){0<x.newVersion?console.warn("Another connection wants to upgrade database '".concat(_.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(_.name,"'. Closing db now to resume the delete request.")),_.close({disableAutoOpen:!1})}),this.on("blocked",function(x){!x.newVersion||x.newVersion<x.oldVersion?console.warn("Dexie.delete('".concat(_.name,"') was blocked")):console.warn("Upgrade '".concat(_.name,"' blocked by other connection holding version ").concat(x.oldVersion/10))}),this._maxKey=is(o.IDBKeyRange),this._createTransaction=function(x,S,M,O){return new _.Transaction(x,S,M,_._options.chromeTransactionDurability,O)},this._fireOnBlocked=function(x){_.on("blocked").fire(x),ls.toArray().filter(function(S){return S.name===_.name&&S!==_&&!S._state.vcFired}).map(function(S){return S.on("versionchange").fire(x)})},this.use(Df),this.use(Nf),this.use(jf),this.use(Mf),this.use(If),new Proxy(this,{get:function(x,S,M){var O;return S==="_vip"||(S==="table"?function(T){return po(_.table(T),A)}:(O=Reflect.get(x,S,M))instanceof dl?po(O,A):S==="tables"?O.map(function(T){return po(T,A)}):S==="_createTransaction"?function(){return po(O.apply(this,arguments),A)}:O)}}));this.vip=A,C.forEach(function(x){return x(_)})}var ho,Br=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",Lf=(Bi.prototype.subscribe=function(r,o,a){return this._subscribe(r&&typeof r!="function"?r:{next:r,error:o,complete:a})},Bi.prototype[Br]=function(){return this},Bi);function Bi(r){this._subscribe=r}try{ho={indexedDB:l.indexedDB||l.mozIndexedDB||l.webkitIndexedDB||l.msIndexedDB,IDBKeyRange:l.IDBKeyRange||l.webkitIDBKeyRange}}catch{ho={indexedDB:null,IDBKeyRange:null}}function Ml(r){var o,a=!1,c=new Lf(function(d){var h=ge(r),g,_=!1,C={},V={},A={get closed(){return _},unsubscribe:function(){_||(_=!0,g&&g.abort(),x&&Jn.storagemutated.unsubscribe(O))}},x=(d.start&&d.start(A),!1),S=function(){return gi(T)};function M(){return Di(V,C)}var O=function(P){uo(C,P),M()&&S()},T=function(){var P,W,F;!_&&ho.indexedDB&&(C={},P={},g&&g.abort(),g=new AbortController,F=(te=>{var ce=Kr();try{h&&Nr();var he=Wn(r,te);return he=h?he.finally(zn):he}finally{ce&&Rr()}})(W={subscr:P,signal:g.signal,requery:S,querier:r,trans:null}),x||(Jn.storagemutated.subscribe(O),x=!0),Promise.resolve(F).then(function(te){a=!0,o=te,_||W.signal.aborted||(M()||(V=P,M())?S():(C={},gi(function(){return!_&&d.next&&d.next(te)})))},function(te){a=!1,["DatabaseClosedError","AbortError"].includes(te==null?void 0:te.name)||_||gi(function(){_||d.error&&d.error(te)})}))};return setTimeout(S,0),A});return c.hasValue=function(){return a},c.getValue=function(){return o},c}var br=Mn;function Ui(r){var o=Xn;try{Xn=!0,Jn.storagemutated.fire(r),Ri(r,!0)}finally{Xn=o}}I(br,s(s({},Q),{delete:function(r){return new br(r,{addons:[]}).delete()},exists:function(r){return new br(r,{addons:[]}).open().then(function(o){return o.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(r){try{return o=br.dependencies,a=o.indexedDB,o=o.IDBKeyRange,(Pi(a)?Promise.resolve(a.databases()).then(function(c){return c.map(function(d){return d.name}).filter(function(d){return d!==Js})}):Oi(a,o).toCollection().primaryKeys()).then(r)}catch{return wt(new de.MissingAPI)}var o,a},defineClass:function(){return function(r){v(this,r)}},ignoreTransaction:function(r){return Ie.trans?vr(Ie.transless||St,r):r()},vip:Mi,async:function(r){return function(){try{var o=Ni(r.apply(this,arguments));return o&&typeof o.then=="function"?o:Se.resolve(o)}catch(a){return wt(a)}}},spawn:function(r,o,a){try{var c=Ni(r.apply(a,o||[]));return c&&typeof c.then=="function"?c:Se.resolve(c)}catch(d){return wt(d)}},currentTransaction:{get:function(){return Ie.trans||null}},waitFor:function(r,o){return r=Se.resolve(typeof r=="function"?br.ignoreTransaction(r):r).timeout(o||6e4),Ie.trans?Ie.trans.waitFor(r):r},Promise:Se,debug:{get:function(){return B},set:function(r){z(r)}},derive:G,extend:v,props:I,override:j,Events:rs,on:Jn,liveQuery:Ml,extendObservabilitySet:uo,getByKeyPath:ie,setByKeyPath:oe,delByKeyPath:function(r,o){typeof o=="string"?oe(r,o,void 0):"length"in o&&[].map.call(o,function(a){oe(r,a,void 0)})},shallowClone:R,deepClone:xe,getObjectDiff:Li,cmp:Ze,asap:ae,minKey:-1/0,addons:[],connections:{get:ls.toArray},errnames:Jt,dependencies:ho,cache:gr,semVer:"4.4.6",version:"4.4.6".split(".").map(function(r){return parseInt(r)}).reduce(function(r,o,a){return r+o/Math.pow(10,2*a)})})),br.maxKey=is(br.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Jn(no,function(r){Xn||(r=new CustomEvent(xi,{detail:r}),Xn=!0,dispatchEvent(r),Xn=!1)}),addEventListener(xi,function(r){r=r.detail,Xn||Ui(r)}));var Ur,Xn=!1,Il=function(){};return typeof BroadcastChannel<"u"&&((Il=function(){(Ur=new BroadcastChannel(xi)).onmessage=function(r){return r.data&&Ui(r.data)}})(),typeof Ur.unref=="function"&&Ur.unref(),Jn(no,function(r){Xn||Ur.postMessage(r)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(r){if(!Mn.disableBfCache&&r.persisted){B&&console.debug("Dexie: handling persisted pagehide"),Ur!=null&&Ur.close();for(var o=0,a=ls.toArray();o<a.length;o++)a[o].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(r){!Mn.disableBfCache&&r.persisted&&(B&&console.debug("Dexie: handling persisted pageshow"),Il(),Ui({all:new jt(-1/0,[[]])}))})),Se.rejectionMapper=function(r,o){return!r||r instanceof Ce||r instanceof TypeError||r instanceof SyntaxError||!r.name||!m[r.name]?r:(o=new m[r.name](o||r.message,r),"stack"in r&&N(o,"stack",{get:function(){return this.inner.stack}}),o)},z(B),s(Mn,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:Mn,Entity:al,PropModification:ns,RangeSet:jt,add:function(r){return new ns({add:r})},cmp:Ze,default:Mn,liveQuery:Ml,mergeRanges:cs,rangesOverlap:kl,remove:function(r){return new ns({remove:r})},replacePrefix:function(r,o){return new ns({replacePrefix:[r,o]})}}),{default:Mn}),Mn})})(zc);var Ih=zc.exports;const wa=Mh(Ih),ku=Symbol.for("Dexie"),Ir=globalThis[ku]||(globalThis[ku]=wa);if(wa.semVer!==Ir.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${wa.semVer} and ${Ir.semVer}`);const{liveQuery:X1,mergeRanges:Q1,rangesOverlap:Z1,RangeSet:e0,cmp:t0,Entity:n0,PropModification:r0,replacePrefix:s0,add:o0,remove:i0,DexieYProvider:a0}=Ir;class Gc extends Ir{constructor(t="intern_worklog"){super(t),this.version(1).stores({project:"++id, &name, archived",work_log:"++id, &date",log_item:"++id, work_log_id, project_id, category",attendance:"++id, &date",weekly_note:"++id, &week_start",setting:"key"}),this.version(2).stores({memo:"++id, updated_at",credential:"++id, system, updated_at"}),this.version(3).stores({transaction:"++id, date, type, category"}),this.version(4).stores({sync_mirror:"++id, table, uuid",tombstone:"++id, table, uuid, deleted_at"})}}let ne;function Dh(e){ne=e}function Yc(){ne&&ne.close(),ne=void 0}const jh=4,Wr=["餐饮","交通","住房","通讯","学习","娱乐","其他"],Lo=["工资","报销","其他"],xu=["公司","客户现场","出差","居家办公"],Fs=[{key:"dev",label:"开发"},{key:"bugfix",label:"BUG修复"},{key:"test",label:"测试"},{key:"learning",label:"学习成长"},{key:"meeting",label:"会议沟通"},{key:"doc",label:"文档输出"},{key:"other",label:"其他"}];function za(e){const t=Fs.find(n=>n.key===e);return t?t.label:"其他"}const Kh={class:"dialog",role:"dialog","aria-label":"编辑工作记录"},Rh={class:"dialog-head"},Nh={key:0,class:"muted dialog-sub"},Lh={class:"dialog-body"},Vh={class:"form-grid"},Fh={class:"field span2"},Bh={key:0,class:"form-error"},Uh={class:"field"},qh=["value"],Hh={class:"field"},Wh=["value"],zh={class:"field"},Gh={class:"field"},Yh={class:"field span2"},Jh={class:"field"},Xh={class:"field"},Qh={class:"dialog-btns"},Zh=Ft({__name:"EditLogDialog",props:{open:{type:Boolean},item:{},projects:{},date:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L(""),l=L(null),f=L("dev"),p=L(null),v=L(""),b=L(""),y=L(0),k=L(0),I=L(""),D=L(null),N=ot(()=>{var j;const ee=n.projects.filter(Y=>Y.archived!==1),E=(j=n.item)==null?void 0:j.project_id;if(E&&!ee.some(Y=>Y.id===E)){const Y=n.projects.find(ie=>ie.id===E),ae=ee.slice();return Y&&ae.unshift({...Y,name:Y.name+"(已归档)"}),ae}return ee});function G(ee){n.open&&ee.key==="Escape"&&s("cancel")}vt(()=>n.open,async ee=>{var E;if(ee){const j=n.item;i.value=(j==null?void 0:j.content)??"",l.value=(j==null?void 0:j.project_id)??null,f.value=(j==null?void 0:j.category)??"dev",p.value=(j==null?void 0:j.minutes)??null,v.value=(j==null?void 0:j.takeaway)??"",b.value=(j==null?void 0:j.remark)??"",y.value=(j==null?void 0:j.is_milestone)??0,k.value=(j==null?void 0:j.needs_followup)??0,I.value="",window.addEventListener("keydown",G),await Zr(),(E=D.value)==null||E.focus()}else window.removeEventListener("keydown",G)}),dr(()=>window.removeEventListener("keydown",G)),vt(i,()=>{I.value&&(I.value="")});function fe(){const ee=i.value.trim();if(!ee){I.value="请填写工作内容";return}if(!n.item||!n.item.id){s("cancel");return}s("save",{id:n.item.id,content:ee,project_id:l.value,category:f.value,minutes:p.value&&p.value>0?p.value:null,takeaway:v.value.trim()||null,remark:b.value.trim()||null,is_milestone:y.value?1:0,needs_followup:k.value?1:0})}return(ee,E)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:E[10]||(E[10]=Mr(j=>s("cancel"),["self"]))},[u("div",Kh,[u("div",Rh,[u("div",null,[E[11]||(E[11]=u("div",{class:"dialog-title"},"编辑工作记录",-1)),e.date?(K(),U("div",Nh,re(e.date),1)):$e("",!0)]),u("button",{class:"icon-btn",title:"关闭",onClick:E[0]||(E[0]=j=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",Lh,[u("div",Vh,[u("div",Fh,[E[12]||(E[12]=u("label",null,"工作内容(必填)",-1)),Ae(u("input",{ref_key:"contentInput",ref:D,class:Qe(["input",{invalid:I.value}]),"onUpdate:modelValue":E[1]||(E[1]=j=>i.value=j),onKeydown:Dt(fe,["enter"])},null,34),[[De,i.value]]),I.value?(K(),U("div",Bh,re(I.value),1)):$e("",!0)]),u("div",Uh,[E[14]||(E[14]=u("label",null,"所属项目",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[2]||(E[2]=j=>l.value=j)},[E[13]||(E[13]=u("option",{value:null},"无项目",-1)),(K(!0),U(Ke,null,lt(N.value,j=>(K(),U("option",{key:j.id,value:j.id},re(j.name),9,qh))),128))],512),[[Ln,l.value]])]),u("div",Hh,[E[15]||(E[15]=u("label",null,"工作分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[3]||(E[3]=j=>f.value=j)},[(K(!0),U(Ke,null,lt(nn(Fs),j=>(K(),U("option",{key:j.key,value:j.key},re(j.label),9,Wh))),128))],512),[[Ln,f.value]])]),u("div",zh,[E[16]||(E[16]=u("label",null,"耗时(分钟)",-1)),Ae(u("input",{class:"input",type:"number",min:"0","onUpdate:modelValue":E[4]||(E[4]=j=>p.value=j),placeholder:"选填"},null,512),[[De,p.value,void 0,{number:!0}]])]),u("div",Gh,[E[17]||(E[17]=u("label",null,"主要收获",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":E[5]||(E[5]=j=>v.value=j),placeholder:"一句话:学到了什么"},null,512),[[De,v.value]])]),u("div",Yh,[E[18]||(E[18]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":E[6]||(E[6]=j=>b.value=j),placeholder:"背景、链接、未决事项(选填)"},null,512),[[De,b.value]])]),u("div",Jh,[E[19]||(E[19]=u("label",null,"成果标记",-1)),u("button",{class:Qe(["toggle-btn",{on:y.value===1}]),onClick:E[7]||(E[7]=j=>y.value=y.value===1?0:1)},re(y.value===1?"已标记为成果":"未标记"),3)]),u("div",Xh,[E[20]||(E[20]=u("label",null,"待跟进",-1)),u("button",{class:Qe(["toggle-btn",{onwarn:k.value===1}]),onClick:E[8]||(E[8]=j=>k.value=k.value===1?0:1)},re(k.value===1?"需要跟进":"无需跟进"),3)])])]),u("div",Qh,[u("button",{class:"btn btn-sm",onClick:E[9]||(E[9]=j=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:fe},"保存修改")])])])):$e("",!0)]),_:1})]))}}),ev=Yt(Zh,[["__scopeId","data-v-63bc0b48"]]);function xs(e){return e<10?"0"+e:String(e)}function Vn(e){return e.getFullYear()+"-"+xs(e.getMonth()+1)+"-"+xs(e.getDate())}function _t(){return Vn(new Date)}function yt(){const e=new Date;return Vn(e)+"T"+xs(e.getHours())+":"+xs(e.getMinutes())+":"+xs(e.getSeconds())}function Fn(e){if(!e)return"--:--";const t=e.indexOf("T");return t>=0?e.slice(t+1,t+6):e.slice(0,5)}function ts(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}function Nn(e,t){const n=ts(e);return n.setDate(n.getDate()+t),Vn(n)}function Vo(e,t){const n=ts(e),s=n.getDate();n.setDate(1),n.setMonth(n.getMonth()+t);const i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();return n.setDate(Math.min(s,i)),Vn(n)}function Cs(e){const t=ts(e),n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),Vn(t)}function tv(e){const t=ts(e).getDay();return t===0||t===6}function nv(e,t){return Math.round((new Date(t).getTime()-new Date(e).getTime())/6e4)}function Jc(e){const t=ts(e),n=["周日","周一","周二","周三","周四","周五","周六"];return t.getFullYear()+" 年 "+(t.getMonth()+1)+" 月 "+t.getDate()+" 日 "+n[t.getDay()]}async function ht(e,t){const n=await ne.setting.get(e);return n?n.value:t}async function bt(e,t){await ne.setting.put({key:e,value:t})}async function Dr(){const e=await Promise.all([ht("work_start","09:00"),ht("work_end","18:00"),ht("grace_minutes","10"),ht("lunch_minutes","60"),ht("remind_weekly","friday")]);return{work_start:e[0],work_end:e[1],grace_minutes:Number(e[2])||0,lunch_minutes:Number(e[3])||0,remind_weekly:e[4]}}async function rv(){const e=await ht("last_project",""),t=await ht("last_category","dev");return{project_id:e?Number(e):null,category:t||"dev"}}async function sv(){return ht("last_location","")}async function ov(e,t){const n=t.trim();await bt("last_location",n),n&&await Fo(n);const s=await mn(e);s&&s.id?await ne.attendance.update(s.id,{location:n||null}):n&&await ne.attendance.add({date:e,clock_in_at:null,clock_out_at:null,kind:"normal",note:null,location:n,created_at:yt()})}async function Ga(){const e=await ht("location_presets","");if(!e)return xu.slice();try{const t=JSON.parse(e);if(Array.isArray(t))return t.filter(n=>typeof n=="string"&&n.trim()).map(n=>n.trim())}catch{}return xu.slice()}async function Xc(e){const t=Array.from(new Set(e.map(n=>n.trim()).filter(Boolean)));await bt("location_presets",JSON.stringify(t))}async function Fo(e){const t=e.trim();if(!t)return;const n=await Ga();n.includes(t)||await Xc([...n,t])}async function Ks(e=!1){const t=await ne.project.orderBy("name").toArray();return e?t:t.filter(n=>n.archived!==1)}async function iv(e){await ne.project.add({name:e.trim(),archived:0,created_at:yt()})}async function av(e,t){await ne.project.update(e,{name:t.trim()})}async function lv(e,t){await ne.project.update(e,{archived:t?1:0})}async function mn(e){return ne.attendance.where("date").equals(e).first()}async function Qc(e,t){const n=((t===void 0?await ht("last_location",""):t)||"").trim(),s=await mn(e);if(s&&s.id){if(!s.clock_in_at){const i={clock_in_at:yt()};n&&(i.location=n),await ne.attendance.update(s.id,i)}n&&(await bt("last_location",n),await Fo(n));return}await ne.attendance.add({date:e,clock_in_at:yt(),clock_out_at:null,kind:"normal",note:null,location:n||null,created_at:yt()}),n&&(await bt("last_location",n),await Fo(n))}async function uv(e){const t=await mn(e);t&&t.id&&t.clock_in_at&&!t.clock_out_at&&await ne.attendance.update(t.id,{clock_out_at:yt()})}async function cv(){const e=new Date,t=Vn(e);if(e.getHours()<4){const s=await mn(Nn(t,-1));if(s&&s.id&&s.clock_in_at&&!s.clock_out_at)return await ne.attendance.update(s.id,{clock_out_at:yt()}),s.date}const n=await mn(t);if(n&&n.id&&n.clock_in_at&&!n.clock_out_at)return await ne.attendance.update(n.id,{clock_out_at:yt()}),n.date;throw new Error("没有进行中的打卡")}async function fv(e,t,n,s,i){(i||"").trim()&&await Fo(i);const l=await mn(e),f={date:e,clock_in_at:t,clock_out_at:n,kind:"makeup",note:s||null,location:(i||"").trim()||null,created_at:yt()};l&&l.id?await ne.attendance.update(l.id,f):await ne.attendance.add(f)}async function dv(e,t,n){const s=(n||"").trim();if(!s)return;const i=await mn(e);i&&i.id&&await ne.attendance.update(i.id,{[t]:e+"T"+s+":00"})}async function li(e,t){return ne.attendance.where("date").between(e,t,!0,!0).toArray()}async function pv(e,t){const n=await mn(e);if(t){const s={date:e,kind:"leave",clock_in_at:null,clock_out_at:null,created_at:yt()};n&&n.id?await ne.attendance.update(n.id,s):await ne.attendance.add({...s,note:null,location:null})}else n&&n.id&&await ne.attendance.update(n.id,{kind:"normal"})}async function hv(e){const t=await ne.work_log.where("date").equals(e).first();return t||{id:await ne.work_log.add({date:e,created_at:yt()}),date:e,created_at:yt()}}async function vv(e){return ne.work_log.where("date").equals(e).first()}async function mv(e){const t=await vv(e);return!t||!t.id?[]:(await ne.log_item.where("work_log_id").equals(t.id).toArray()).sort((s,i)=>i.id-s.id)}async function yv(e,t){const n=await hv(e);await ne.log_item.add({work_log_id:n.id,content:t.content,project_id:t.project_id,category:t.category,minutes:t.minutes,is_milestone:0,needs_followup:0,takeaway:t.takeaway,remark:t.remark,sort_order:0,created_at:yt()}),await bt("last_project",t.project_id?String(t.project_id):""),await bt("last_category",t.category)}async function sa(e,t){await ne.log_item.update(e,t)}async function gv(e){await ne.log_item.delete(e)}async function ui(e,t){const n=await ne.work_log.where("date").between(e,t,!0,!0).toArray();if(!n.length)return[];const s=new Map(n.map(l=>[l.id,l.date]));return(await ne.log_item.where("work_log_id").anyOf(n.map(l=>l.id)).toArray()).map(l=>({...l,date:s.get(l.work_log_id)||""})).sort((l,f)=>l.date===f.date?l.id-f.id:l.date<f.date?-1:1)}async function Ya(e){return ne.weekly_note.where("week_start").equals(e).first()}async function bv(e,t){const n=await Ya(e);n&&n.id?await ne.weekly_note.update(n.id,t):await ne.weekly_note.add({week_start:e,highlights:t.highlights??null,challenges:t.challenges??null,plan_next:t.plan_next??null,created_at:yt()})}async function _v(e,t){return ne.weekly_note.where("week_start").between(e,t,!0,!0).toArray()}async function wv(){return(await ne.memo.toArray()).sort((t,n)=>t.updated_at<n.updated_at?1:-1)}async function kv(e,t){const n=yt();return{id:await ne.memo.add({title:e.trim(),content:t,created_at:n,updated_at:n}),title:e.trim(),content:t,created_at:n,updated_at:n}}async function xv(e,t,n){await ne.memo.update(e,{title:t.trim(),content:n,updated_at:yt()})}async function Cv(e){await ne.memo.delete(e)}async function Sv(e,t=8){const n=e.trim().toLowerCase();if(!n)return[];const s=await ne.work_log.toArray(),i=new Map(s.map(f=>[f.id,f.date]));return(await ne.log_item.toArray()).filter(f=>((f.content||"")+" "+(f.takeaway||"")+" "+(f.remark||"")).toLowerCase().includes(n)).sort((f,p)=>p.id-f.id).slice(0,t).map(f=>({...f,date:i.get(f.work_log_id)||""}))}async function Ev(e,t=4){const n=e.trim().toLowerCase();return n?(await ne.memo.toArray()).filter(i=>((i.title||"")+" "+(i.content||"")).toLowerCase().includes(n)).sort((i,l)=>i.updated_at<l.updated_at?1:-1).slice(0,t):[]}async function $v(e,t){return ne.transaction.where("date").between(e,t,!0,!0).toArray()}async function Av(e){await ne.transaction.add({...e,created_at:yt()})}async function Tv(e,t){await ne.transaction.update(e,{...t})}async function Ov(e){await ne.transaction.delete(e)}async function Pv(e,t){await ne.transaction.update(e,{reimbursed:1})}async function Mv(){const e=await Promise.all([ne.project.toArray(),ne.work_log.toArray(),ne.log_item.toArray(),ne.attendance.toArray(),ne.weekly_note.toArray(),ne.setting.toArray(),ne.memo.toArray(),ne.credential.toArray(),ne.transaction.toArray()]);return JSON.stringify({schema_version:jh,exported_at:yt(),data:{project:e[0],work_log:e[1],log_item:e[2],attendance:e[3],weekly_note:e[4],setting:e[5],memo:e[6],credential:e[7],transaction:e[8]}},null,2)}async function Iv(e){let t=null;try{t=JSON.parse(e)}catch{throw new Error("不是有效的 JSON 文件")}if(!t||t.schema_version!==1&&t.schema_version!==2&&t.schema_version!==3||!t.data)throw new Error("文件格式或 schema 版本不匹配");const n=t.data;await ne.transaction("rw",[ne.project,ne.work_log,ne.log_item,ne.attendance,ne.weekly_note,ne.setting,ne.memo,ne.credential,ne.transaction],async()=>{await Promise.all([ne.project.clear(),ne.work_log.clear(),ne.log_item.clear(),ne.attendance.clear(),ne.weekly_note.clear(),ne.setting.clear(),ne.memo.clear(),ne.credential.clear(),ne.transaction.clear()]),n.project&&n.project.length&&await ne.project.bulkAdd(n.project),n.work_log&&n.work_log.length&&await ne.work_log.bulkAdd(n.work_log),n.log_item&&n.log_item.length&&await ne.log_item.bulkAdd(n.log_item),n.attendance&&n.attendance.length&&await ne.attendance.bulkAdd(n.attendance),n.weekly_note&&n.weekly_note.length&&await ne.weekly_note.bulkAdd(n.weekly_note),n.setting&&n.setting.length&&await ne.setting.bulkAdd(n.setting),n.memo&&n.memo.length&&await ne.memo.bulkAdd(n.memo),n.credential&&n.credential.length&&await ne.credential.bulkAdd(n.credential),n.transaction&&n.transaction.length&&await ne.transaction.bulkAdd(n.transaction)})}function ko(e){const t=e.split(":");return Number(t[0])*60+Number(t[1])}function Bs(e,t,n,s){if(e&&e.kind==="leave")return{status:"leave",label:"请假",makeup:!1,workedMinutes:null};if(tv(t))return{status:"rest",label:"休息日",makeup:!1,workedMinutes:null};if(!e||!e.clock_in_at)return s?{status:"none",label:"未打卡",makeup:!1,workedMinutes:null}:{status:"absent",label:"缺勤",makeup:!!(e&&e.kind==="makeup"),workedMinutes:null};const i=e.kind==="makeup";if(!e.clock_out_at)return{status:"incomplete",label:s?"进行中":"未完成",makeup:i,workedMinutes:null};const l=ko(Fn(e.clock_in_at)),f=ko(Fn(e.clock_out_at)),p=ko(n.work_start),v=ko(n.work_end);let b="normal";!i&&l>p+n.grace_minutes?b="late":!i&&f<v&&(b="early");const y=nv(e.clock_in_at,e.clock_out_at),k=Math.max(0,y-n.lunch_minutes);return{status:b,label:i?"补卡":b==="late"?"迟到":b==="early"?"早退":"正常",makeup:i,workedMinutes:k}}const $o=L([]);let Dv=0;function ze(e){const t=++Dv;$o.value.push({id:t,text:e}),setTimeout(()=>{$o.value=$o.value.filter(n=>n.id!==t)},2e3)}function jv(){return $o}const ka=L(null),xa=L(null),Us=L(0);function Sr(){Us.value++}const Kv={class:"day-panel"},Rv={class:"dp-head"},Nv={class:"dp-date"},Lv={class:"card sec"},Vv={class:"att-grid"},Fv={class:"att-cell"},Bv={key:0,class:"edit-row"},Uv={key:1,class:"att-val"},qv={class:"att-cell"},Hv={key:0,class:"edit-row"},Wv={key:1,class:"att-val"},zv={class:"att-cell"},Gv=["list"],Yv=["id"],Jv=["value"],Xv={class:"att-cell"},Qv={class:"att-val status-val"},Zv={key:0,class:"tag"},em={key:1,class:"muted"},tm={key:0,class:"att-note muted"},nm={class:"att-actions"},rm=["disabled"],sm=["disabled"],om=["disabled"],im=["disabled"],am={key:0,class:"card sec makeup"},lm={class:"form-grid"},um={class:"field"},cm={class:"field"},fm={class:"field span2"},dm=["list"],pm={class:"field span2"},hm={key:0,class:"form-error"},vm={class:"form-footer"},mm={class:"card sec"},ym={class:"form-grid"},gm={class:"field span2"},bm={key:0,class:"form-error"},_m={class:"field"},wm=["value"],km={class:"field"},xm=["value"],Cm={class:"field"},Sm={class:"field"},Em={class:"field span2"},$m={class:"form-footer"},Am=["disabled"],Tm=["disabled"],Om={class:"list-sec"},Pm={class:"sec-title"},Mm={key:0,class:"empty muted"},Im={class:"item-main"},Dm={class:"tag"},jm=["onClick"],Km={key:0,class:"muted item-meta"},Rm={key:1,class:"muted num item-meta"},Nm=["onClick"],Lm=["onClick"],Vm=["onClick"],Fm=["onClick"],Bm={key:0,class:"item-sub"},Um={key:0,class:"muted2"},qm={key:1,class:"muted"},Hm={key:1,class:"dp-foot muted num"},Wm=Ft({__name:"DayPanel",props:{date:{}},setup(e){const t=e,n=L(!0),s=L(null),i=L(void 0),l=L([]),f=L([]),p=L(""),v=L([]),b=ot(()=>"loc-list-"+t.date),y=ot(()=>t.date===_t());async function k(){n.value=!0,s.value=await Dr(),i.value=await mn(t.date),l.value=await mv(t.date),f.value=await Ks(!0),v.value=await Ga(),p.value=i.value&&i.value.location||await sv(),n.value=!1}fn(k),vt(()=>t.date,k),vt(Us,()=>{k()});const I=ot(()=>f.value.filter(q=>q.archived!==1));function D(q){if(!q)return"";const B=f.value.find(z=>z.id===q);return B?B.name:"已删除项目"}const N=ot(()=>s.value?Bs(i.value,t.date,s.value,y.value):null),G=ot(()=>l.value.reduce((q,B)=>q+(B.minutes||0),0)),fe=L(!1);async function ee(){fe.value||(fe.value=!0,await Qc(t.date,p.value),await k(),Sr(),ze("上班打卡成功"),fe.value=!1)}async function E(){fe.value||(fe.value=!0,await uv(t.date),await k(),Sr(),ze("下班打卡成功"),fe.value=!1)}async function j(){await ov(t.date,p.value),Sr(),ze("地点已更新")}const Y=L(!1),ae=ot(()=>{var q;return((q=i.value)==null?void 0:q.kind)==="leave"});function ie(){if(i.value&&i.value.clock_in_at){Y.value=!0;return}oe(!0)}async function oe(q){Y.value=!1,await pv(t.date,q),await k(),Sr(),ze(q?"已标记为休假":"已取消休假")}const R=L(null),$=L(""),le=L(null);vt(R,async q=>{var B;q&&(await Zr(),(B=le.value)==null||B.focus())});function Ee(q){var z,Te;const B=q==="in"?(z=i.value)==null?void 0:z.clock_in_at:(Te=i.value)==null?void 0:Te.clock_out_at;R.value=q,$.value=B?Fn(B):q==="in"?"09:00":"18:00"}function J(){R.value=null}async function xe(){const q=R.value;q&&(R.value=null,$.value&&(await dv(t.date,q==="in"?"clock_in_at":"clock_out_at",$.value),await k(),Sr(),ze("打卡时间已修改")))}const Fe=L(!1),tt=L("09:00"),Be=L("18:00"),Ge=L(""),_e=L(""),je=L("");function et(){_e.value=p.value,je.value="",Fe.value=!Fe.value}async function ge(){if(!tt.value||!Be.value){je.value="请填写上班与下班时间";return}await fv(t.date,t.date+"T"+tt.value+":00",t.date+"T"+Be.value+":00",Ge.value.trim(),_e.value),Fe.value=!1,Ge.value="",je.value="",await k(),Sr(),ze("补卡已保存")}const Q=L(""),X=L("");vt(Q,()=>{X.value&&(X.value="")});const Ce=L(null),At=L("dev"),Ct=L(null),Et=L(""),Jt=L(""),Bt=L(!1),de=ot(()=>!!(Q.value.trim()||Ct.value||Et.value.trim()||Jt.value.trim()));fn(async()=>{const q=await rv();Ce.value=q.project_id,At.value=q.category});function m(){Q.value="",Ct.value=null,Et.value="",Jt.value="",X.value=""}async function w(){const q=Q.value.trim();if(!q){X.value="请填写工作内容";return}Bt.value||(Bt.value=!0,await yv(t.date,{content:q,project_id:Ce.value,category:At.value,minutes:Ct.value&&Ct.value>0?Ct.value:null,takeaway:Et.value.trim()||null,remark:Jt.value.trim()||null}),m(),await k(),ze("记录已添加"),Bt.value=!1)}const H=L(null);function ue(q){H.value=q}async function se(q){const B=q.id,z={content:q.content,project_id:q.project_id,category:q.category,minutes:q.minutes,takeaway:q.takeaway,remark:q.remark,is_milestone:q.is_milestone,needs_followup:q.needs_followup};await sa(B,z),H.value=null,await k(),ze("修改已保存")}async function Z(q){await sa(q.id,{is_milestone:q.is_milestone?0:1}),await k()}async function we(q){await sa(q.id,{needs_followup:q.needs_followup?0:1}),await k()}const me=L(null);async function ke(){me.value&&me.value.id&&await gv(me.value.id),me.value=null,await k(),ze("记录已删除")}return(q,B)=>(K(),U("div",Kv,[u("div",Rv,[u("div",Nv,re(nn(Jc)(e.date)),1)]),u("div",Lv,[B[25]||(B[25]=u("div",{class:"sec-title"},"出勤信息",-1)),u("div",Vv,[u("div",Fv,[B[21]||(B[21]=u("label",null,"上班时间",-1)),R.value==="in"?(K(),U("div",Bv,[Ae(u("input",{ref_key:"timeInput",ref:le,type:"time",class:"input time-input","onUpdate:modelValue":B[0]||(B[0]=z=>$.value=z),onKeydown:[Dt(xe,["enter"]),Dt(J,["esc"])]},null,544),[[De,$.value]]),u("button",{class:"btn btn-primary btn-sm",onClick:xe},"确认"),u("button",{class:"btn btn-sm",onClick:J},"取消")])):(K(),U("div",Uv,[u("span",{class:Qe(["num",{"val-empty":!(i.value&&i.value.clock_in_at)}])},re(i.value&&i.value.clock_in_at?nn(Fn)(i.value.clock_in_at):"未打卡"),3),i.value&&i.value.id?(K(),U("button",{key:0,class:"icon-btn",title:"修改上班时间",onClick:B[1]||(B[1]=z=>Ee("in"))},[Me(at,{name:"edit",size:13})])):$e("",!0)]))]),u("div",qv,[B[22]||(B[22]=u("label",null,"下班时间",-1)),R.value==="out"?(K(),U("div",Hv,[Ae(u("input",{ref_key:"timeInput",ref:le,type:"time",class:"input time-input","onUpdate:modelValue":B[2]||(B[2]=z=>$.value=z),onKeydown:[Dt(xe,["enter"]),Dt(J,["esc"])]},null,544),[[De,$.value]]),u("button",{class:"btn btn-primary btn-sm",onClick:xe},"确认"),u("button",{class:"btn btn-sm",onClick:J},"取消")])):(K(),U("div",Wv,[u("span",{class:Qe(["num",{"val-empty":!(i.value&&i.value.clock_out_at)}])},re(i.value&&i.value.clock_out_at?nn(Fn)(i.value.clock_out_at):"未打卡"),3),i.value&&i.value.id?(K(),U("button",{key:0,class:"icon-btn",title:"修改下班时间",onClick:B[3]||(B[3]=z=>Ee("out"))},[Me(at,{name:"edit",size:13})])):$e("",!0)]))]),u("div",zv,[B[23]||(B[23]=u("label",null,"上班地点",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[4]||(B[4]=z=>p.value=z),list:b.value,placeholder:"可直接输入",title:"上班地点,可自由输入",onChange:j},null,40,Gv),[[De,p.value]]),u("datalist",{id:b.value},[(K(!0),U(Ke,null,lt(v.value,z=>(K(),U("option",{key:z,value:z},null,8,Jv))),128))],8,Yv)]),u("div",Xv,[B[24]||(B[24]=u("label",null,"考勤状态",-1)),u("div",Qv,[N.value?(K(),U(Ke,{key:0},[u("span",{class:Qe(["dot",N.value.status])},null,2),u("span",null,re(N.value.label),1),i.value&&i.value.kind==="makeup"?(K(),U("span",Zv,"补卡")):$e("",!0)],64)):(K(),U("span",em,"--"))])])]),i.value&&i.value.note?(K(),U("div",tm,"补卡说明:"+re(i.value.note),1)):$e("",!0),u("div",nm,[y.value&&(!i.value||!i.value.clock_in_at)?(K(),U("button",{key:0,class:"btn btn-primary btn-sm",disabled:fe.value,onClick:ee},"上班打卡",8,rm)):y.value&&i.value&&i.value.clock_in_at&&!i.value.clock_out_at?(K(),U("button",{key:1,class:"btn btn-primary btn-sm",disabled:fe.value,onClick:E},"下班打卡",8,sm)):$e("",!0),!y.value&&(!i.value||!i.value.clock_in_at)?(K(),U("button",{key:2,class:"btn btn-sm",onClick:et},"补卡")):$e("",!0),ae.value?(K(),U("button",{key:4,class:"btn btn-sm",disabled:fe.value,onClick:B[5]||(B[5]=z=>oe(!1))},"取消休假",8,im)):(K(),U("button",{key:3,class:"btn btn-sm",disabled:fe.value,onClick:ie},"标记休假",8,om))])]),Fe.value?(K(),U("div",am,[B[30]||(B[30]=u("div",{class:"sec-title"},"补卡登记",-1)),u("div",lm,[u("div",um,[B[26]||(B[26]=u("label",null,"上班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":B[6]||(B[6]=z=>tt.value=z)},null,512),[[De,tt.value]])]),u("div",cm,[B[27]||(B[27]=u("label",null,"下班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":B[7]||(B[7]=z=>Be.value=z)},null,512),[[De,Be.value]])]),u("div",fm,[B[28]||(B[28]=u("label",null,"上班地点",-1)),Ae(u("input",{class:"input",list:b.value,"onUpdate:modelValue":B[8]||(B[8]=z=>_e.value=z),placeholder:"可直接输入"},null,8,dm),[[De,_e.value]])]),u("div",pm,[B[29]||(B[29]=u("label",null,"补卡原因",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[9]||(B[9]=z=>Ge.value=z),placeholder:"如:外出拜访客户忘记打卡"},null,512),[[De,Ge.value]])])]),je.value?(K(),U("div",hm,re(je.value),1)):$e("",!0),u("div",vm,[u("button",{class:"btn btn-sm",onClick:B[10]||(B[10]=z=>Fe.value=!1)},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:ge},"保存补卡")])])):$e("",!0),u("div",mm,[B[38]||(B[38]=u("div",{class:"sec-head"},[u("span",{class:"sec-title"},"新增工作记录"),u("span",{class:"muted form-hint"},"内容必填,其余选填")],-1)),u("div",ym,[u("div",gm,[B[31]||(B[31]=u("label",null,"工作内容(必填)",-1)),Ae(u("input",{class:Qe(["input",{invalid:X.value}]),"onUpdate:modelValue":B[11]||(B[11]=z=>Q.value=z),placeholder:"做了什么,一句话一条",onKeydown:Dt(w,["enter"])},null,34),[[De,Q.value]]),X.value?(K(),U("div",bm,re(X.value),1)):$e("",!0)]),u("div",_m,[B[33]||(B[33]=u("label",null,"所属项目",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":B[12]||(B[12]=z=>Ce.value=z)},[B[32]||(B[32]=u("option",{value:null},"无项目",-1)),(K(!0),U(Ke,null,lt(I.value,z=>(K(),U("option",{key:z.id,value:z.id},re(z.name),9,wm))),128))],512),[[Ln,Ce.value]])]),u("div",km,[B[34]||(B[34]=u("label",null,"工作分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":B[13]||(B[13]=z=>At.value=z)},[(K(!0),U(Ke,null,lt(nn(Fs),z=>(K(),U("option",{key:z.key,value:z.key},re(z.label),9,xm))),128))],512),[[Ln,At.value]])]),u("div",Cm,[B[35]||(B[35]=u("label",null,"耗时(分钟)",-1)),Ae(u("input",{class:"input",type:"number",min:"0","onUpdate:modelValue":B[14]||(B[14]=z=>Ct.value=z),placeholder:"选填"},null,512),[[De,Ct.value,void 0,{number:!0}]])]),u("div",Sm,[B[36]||(B[36]=u("label",null,"主要收获",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[15]||(B[15]=z=>Et.value=z),placeholder:"一句话:学到了什么"},null,512),[[De,Et.value]])]),u("div",Em,[B[37]||(B[37]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":B[16]||(B[16]=z=>Jt.value=z),placeholder:"背景、链接、未决事项(选填)"},null,512),[[De,Jt.value]])])]),u("div",$m,[u("button",{class:"btn btn-sm",disabled:!de.value,onClick:m},"重置",8,Am),u("button",{class:"btn btn-primary btn-sm",disabled:Bt.value,onClick:w},"添加记录",8,Tm)])]),u("div",Om,[u("div",Pm,"工作记录("+re(l.value.length)+")",1),!l.value.length&&!n.value?(K(),U("div",Mm,"暂无记录")):$e("",!0),(K(!0),U(Ke,null,lt(l.value,z=>(K(),U("div",{key:z.id,class:"item"},[u("div",Im,[u("span",Dm,re(nn(za)(z.category)),1),u("span",{class:"item-content",title:"点击编辑",onClick:Te=>ue(z)},re(z.content),9,jm),z.project_id?(K(),U("span",Km,re(D(z.project_id)),1)):$e("",!0),z.minutes?(K(),U("span",Rm,re(z.minutes)+" 分钟",1)):$e("",!0),B[39]||(B[39]=u("span",{class:"flex1"},null,-1)),u("button",{class:"icon-btn",title:"编辑完整信息",onClick:Te=>ue(z)},[Me(at,{name:"edit",size:14})],8,Nm),u("button",{class:Qe(["icon-btn",{active:z.is_milestone===1}]),title:"成果标记",onClick:Te=>Z(z)},[Me(at,{name:"star",size:14})],10,Lm),u("button",{class:Qe(["icon-btn",{"active-warn":z.needs_followup===1}]),title:"待跟进",onClick:Te=>we(z)},[Me(at,{name:"flag",size:14})],10,Vm),u("button",{class:"icon-btn",title:"删除",onClick:Te=>me.value=z},[Me(at,{name:"close",size:14})],8,Fm)]),z.takeaway||z.remark?(K(),U("div",Bm,[z.takeaway?(K(),U("div",Um,"收获:"+re(z.takeaway),1)):$e("",!0),z.remark?(K(),U("div",qm,"备注:"+re(z.remark),1)):$e("",!0)])):$e("",!0)]))),128)),l.value.length?(K(),U("div",Hm,[tn(" 共 "+re(l.value.length)+" 条事项 ",1),G.value?(K(),U(Ke,{key:0},[tn(" · "+re((G.value/60).toFixed(1))+" 小时",1)],64)):$e("",!0)])):$e("",!0)]),Me(ur,{open:!!me.value,title:"删除确认",message:me.value?"将删除工作记录「"+me.value.content+"」。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:B[17]||(B[17]=z=>me.value=null),onConfirm:ke},null,8,["open","message"]),Me(ur,{open:Y.value,title:"标记休假确认",message:"该日已有打卡记录,标记休假将清空上下班时间。是否继续?","confirm-text":"标记休假",danger:"",onCancel:B[18]||(B[18]=z=>Y.value=!1),onConfirm:B[19]||(B[19]=z=>oe(!0))},null,8,["open"]),Me(ev,{open:!!H.value,item:H.value,projects:f.value,date:e.date,onCancel:B[20]||(B[20]=z=>H.value=null),onSave:se},null,8,["open","item","projects","date"])]))}}),Zc=Yt(Wm,[["__scopeId","data-v-2e90c9d8"]]),zm={class:"cal-page"},Gm={class:"cal-toolbar"},Ym={class:"cal-title num"},Jm={class:"cal-head"},Xm={class:"cal-grid"},Qm=["title","onClick"],Zm={class:"cal-marks"},ey={key:0,class:"drawer"},ty={class:"drawer-head"},ny={class:"drawer-body"},ry=Ft({__name:"CalendarView",setup(e){const t=L(_t()),n=ot(()=>Number(t.value.slice(0,4))),s=ot(()=>Number(t.value.slice(5,7))-1),i=ot(()=>n.value+" 年 "+(s.value+1)+" 月"),l=["一","二","三","四","五","六","日"],f=ot(()=>{const Y=(new Date(n.value,s.value,1).getDay()+6)%7,ae=new Date(n.value,s.value+1,0).getDate(),ie=[];for(let oe=0;oe<Y;oe++)ie.push({date:"",inMonth:!1,weekend:!1});for(let oe=1;oe<=ae;oe++){const R=new Date(n.value,s.value,oe),$=R.getDay();ie.push({date:Vn(R),inMonth:!0,weekend:$===0||$===6})}return ie}),p=L(new Map),v=_t();async function b(){var le;const j=Vn(new Date(n.value,s.value,1)),Y=Vn(new Date(n.value,s.value+1,0)),ae=await Promise.all([Dr(),li(j,Y),ui(j,Y)]),ie=ae[0],oe=new Map(ae[1].map(Ee=>[Ee.date,Ee])),R=ae[2],$=new Map;for(const Ee of f.value){if(!Ee.inMonth)continue;const J=Bs(oe.get(Ee.date),Ee.date,ie,Ee.date===v),xe=R.filter(Fe=>Fe.date===Ee.date);$.set(Ee.date,{status:J.status,label:J.label,location:((le=oe.get(Ee.date))==null?void 0:le.location)||"",hasLog:xe.length>0,hasMilestone:xe.some(Fe=>Fe.is_milestone===1)})}p.value=$}vt([n,s],b,{immediate:!0}),vt(Us,()=>{b()});function y(j){var Y;return((Y=p.value.get(j))==null?void 0:Y.status)??""}function k(j){const Y=p.value.get(j);return Y?j+" · "+Y.label+(Y.location?" · "+Y.location:""):j}function I(j){var Y;return!!((Y=p.value.get(j))!=null&&Y.hasLog)}function D(j){var Y;return!!((Y=p.value.get(j))!=null&&Y.hasMilestone)}function N(){t.value=Vo(t.value,-1)}function G(){t.value=Vo(t.value,1)}function fe(){t.value=_t()}const ee=L(null);function E(j,Y){Y&&(ee.value=j)}return vt(ka,j=>{j&&(t.value=j,ee.value=j,ka.value=null)},{immediate:!0}),(j,Y)=>(K(),U("div",zm,[u("div",Gm,[u("button",{class:"icon-btn",onClick:N},[Me(at,{name:"chevron-left",size:16})]),u("span",Ym,re(i.value),1),u("button",{class:"icon-btn",onClick:G},[Me(at,{name:"chevron-right",size:16})]),u("button",{class:"btn btn-sm",onClick:fe},"回到今天")]),u("div",Jm,[(K(),U(Ke,null,lt(l,ae=>u("span",{key:ae,class:"cal-week muted"},re(ae),1)),64))]),u("div",Xm,[(K(!0),U(Ke,null,lt(f.value,(ae,ie)=>(K(),U("button",{key:ie,class:Qe(["cal-cell",{blank:!ae.inMonth,weekend:ae.weekend,selected:ee.value===ae.date}]),title:ae.inMonth?k(ae.date):void 0,onClick:oe=>E(ae.date,ae.inMonth)},[ae.inMonth?(K(),U(Ke,{key:0},[u("span",{class:Qe(["daynum num",{today:ae.date===nn(v)}])},re(Number(ae.date.slice(8,10))),3),u("span",Zm,[y(ae.date)?(K(),U("span",{key:0,class:Qe(["dot",y(ae.date)])},null,2)):$e("",!0),I(ae.date)?(K(),It(at,{key:1,name:"check-circle",size:12,class:"mark-log"})):$e("",!0),D(ae.date)?(K(),It(at,{key:2,name:"star",size:12,class:"mark-star"})):$e("",!0)])],64)):$e("",!0)],10,Qm))),128))]),Me(es,{name:"drawer"},{default:fr(()=>[ee.value?(K(),U("aside",ey,[u("div",ty,[Y[1]||(Y[1]=u("span",{class:"drawer-title"},"当日详情",-1)),u("button",{class:"icon-btn",onClick:Y[0]||(Y[0]=ae=>ee.value=null)},[Me(at,{name:"close",size:16})])]),u("div",ny,[Me(Zc,{date:ee.value},null,8,["date"])])])):$e("",!0)]),_:1})]))}}),sy=Yt(ry,[["__scopeId","data-v-6a6322fa"]]),oy={class:"detail-page"},iy={class:"detail-toolbar"},ay=["value"],ly=["disabled"],uy=Ft({__name:"TodayView",setup(e){const t=L(_t()),n=ot(()=>t.value===_t());function s(){t.value=Nn(t.value,-1)}function i(){t.value=Nn(t.value,1)}function l(){t.value=_t()}function f(p){const v=p.target.value;v&&(t.value=v)}return(p,v)=>(K(),U("div",oy,[u("div",iy,[u("button",{class:"icon-btn",title:"前一天",onClick:s},[Me(at,{name:"chevron-left",size:16})]),u("span",{class:Qe(["date-title num",{"is-today":n.value}])},re(nn(Jc)(t.value)),3),u("button",{class:"icon-btn",title:"后一天",onClick:i},[Me(at,{name:"chevron-right",size:16})]),u("input",{type:"date",class:"input w-date",value:t.value,onChange:f},null,40,ay),u("button",{class:"btn btn-sm",disabled:n.value,onClick:l},"回到今天",8,ly)]),Me(Zc,{date:t.value},null,8,["date"])]))}}),cy=Yt(uy,[["__scopeId","data-v-ac366cf6"]]),fy={class:"stats"},dy={class:"cards"},py={class:"card stat-card"},hy={class:"stat-num num"},vy={class:"card stat-card"},my={class:"stat-num num"},yy={class:"card stat-card"},gy={class:"stat-num num"},by={class:"card stat-card"},_y={class:"stat-num num"},wy={class:"card section"},ky={class:"heat"},xy=["title"],Cy={class:"two-col"},Sy={class:"card section"},Ey={class:"bar-label"},$y={class:"bar-track"},Ay={class:"muted num bar-num"},Ty={key:0,class:"muted"},Oy={class:"card section"},Py={class:"bar-label"},My={class:"bar-track"},Iy={class:"muted num bar-num"},Dy={key:0,class:"muted"},jy={class:"card section"},Ky={class:"bar-label loc-label"},Ry={class:"bar-track"},Ny={class:"muted num bar-num"},Ly={key:0,class:"muted"},Vy=Ft({__name:"StatsView",setup(e){const t=L({attendDays:0,totalHours:"0",itemCount:0,streak:0}),n=L([]),s=L([]),i=L([]),l=L([]);async function f(){const b=_t(),y="2000-01-01",k=await Promise.all([Dr(),li(y,b),ui(y,b),Ks(!0)]),I=k[0],D=k[1],N=k[2],G=k[3],fe=D.filter(J=>J.clock_in_at||J.kind==="makeup");let ee=0;for(const J of fe){const xe=Bs(J,J.date,I,J.date===b);ee+=xe.workedMinutes??0}const E=new Set(N.map(J=>J.date));let j=0,Y=b;for(E.has(Y)||(Y=Nn(b,-1));E.has(Y);)j++,Y=Nn(Y,-1);t.value={attendDays:fe.length,totalHours:(ee/60).toFixed(1),itemCount:N.length,streak:j};const ae=new Map;for(const J of fe){const xe=J.location||"未记录";ae.set(xe,(ae.get(xe)||0)+1)}l.value=Array.from(ae.entries()).map(J=>({name:J[0],count:J[1],percent:Math.round(J[1]/(fe.length||1)*100)})).sort((J,xe)=>xe.count-J.count);const ie=N.length||1;s.value=Fs.map(J=>{const xe=N.filter(Fe=>Fe.category===J.key).length;return{key:J.key,label:J.label,count:xe,percent:Math.round(xe/ie*100)}}).filter(J=>J.count>0).sort((J,xe)=>xe.count-J.count);const oe=new Map(G.map(J=>[J.id,J.name])),R=new Map;for(const J of N){const xe=J.project_id?oe.get(J.project_id)||"已删除项目":"无项目";R.set(xe,(R.get(xe)||0)+1)}i.value=Array.from(R.entries()).map(J=>({name:J[0],count:J[1],percent:Math.round(J[1]/ie*100)})).sort((J,xe)=>xe.count-J.count);const $=new Map;for(const J of N)$.set(J.date,($.get(J.date)||0)+1);const le=Cs(b),Ee=[];for(let J=11;J>=0;J--){const xe=Nn(le,-7*J),Fe=[];for(let tt=0;tt<7;tt++){const Be=Nn(xe,tt);Fe.push({date:Be,count:$.get(Be)||0})}Ee.push(Fe)}n.value=Ee}fn(async()=>{await f()}),vt(Us,()=>{f()});function p(b){return b===0?0:b===1?1:b<=3?2:b<=5?3:4}function v(b,y){return b+" · "+(y?y+" 条":"无记录")}return(b,y)=>(K(),U("div",fy,[u("div",dy,[u("div",py,[y[0]||(y[0]=u("div",{class:"muted"},"出勤天数",-1)),u("div",hy,re(t.value.attendDays),1)]),u("div",vy,[y[1]||(y[1]=u("div",{class:"muted"},"累计工时(小时)",-1)),u("div",my,re(t.value.totalHours),1)]),u("div",yy,[y[2]||(y[2]=u("div",{class:"muted"},"记录条数",-1)),u("div",gy,re(t.value.itemCount),1)]),u("div",by,[y[3]||(y[3]=u("div",{class:"muted"},"连续记录(天)",-1)),u("div",_y,re(t.value.streak),1)])]),u("div",wy,[y[4]||(y[4]=u("div",{class:"section-title"},"记录热力图(近 12 周)",-1)),u("div",ky,[(K(!0),U(Ke,null,lt(n.value,(k,I)=>(K(),U("div",{key:I,class:"heat-col"},[(K(!0),U(Ke,null,lt(k,D=>(K(),U("span",{key:D.date,class:Qe(["heat-cell","lv"+p(D.count)]),title:v(D.date,D.count)},null,10,xy))),128))]))),128))]),y[5]||(y[5]=xp('<div class="heat-legend muted" data-v-73e5ba49><span data-v-73e5ba49>少</span><span class="heat-cell lv0" data-v-73e5ba49></span><span class="heat-cell lv1" data-v-73e5ba49></span><span class="heat-cell lv2" data-v-73e5ba49></span><span class="heat-cell lv3" data-v-73e5ba49></span><span class="heat-cell lv4" data-v-73e5ba49></span><span data-v-73e5ba49>多</span></div>',1))]),u("div",Cy,[u("div",Sy,[y[6]||(y[6]=u("div",{class:"section-title"},"分类分布",-1)),(K(!0),U(Ke,null,lt(s.value,k=>(K(),U("div",{key:k.key,class:"bar-row"},[u("span",Ey,re(k.label),1),u("span",$y,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Ay,re(k.count)+" 条 · "+re(k.percent)+"%",1)]))),128)),s.value.length?$e("",!0):(K(),U("div",Ty,"暂无数据"))]),u("div",Oy,[y[7]||(y[7]=u("div",{class:"section-title"},"项目投入",-1)),(K(!0),U(Ke,null,lt(i.value,k=>(K(),U("div",{key:k.name,class:"bar-row"},[u("span",Py,re(k.name),1),u("span",My,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Iy,re(k.count)+" 条 · "+re(k.percent)+"%",1)]))),128)),i.value.length?$e("",!0):(K(),U("div",Dy,"暂无数据"))])]),u("div",jy,[y[8]||(y[8]=u("div",{class:"section-title"},"地点分布(按出勤天)",-1)),(K(!0),U(Ke,null,lt(l.value,k=>(K(),U("div",{key:k.name,class:"bar-row"},[u("span",Ky,re(k.name),1),u("span",Ry,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Ny,re(k.count)+" 天 · "+re(k.percent)+"%",1)]))),128)),l.value.length?$e("",!0):(K(),U("div",Ly,"暂无数据"))])]))}}),Fy=Yt(Vy,[["__scopeId","data-v-73e5ba49"]]);async function By(e,t,n){const s=_t(),i=await Promise.all([Dr(),li(e,t),ui(e,t),Ks(!0),_v(e,t)]),l=i[0],f=i[1],p=i[2],v=i[3],b=i[4];let y=0,k=0,I=0;for(const R of f){(R.clock_in_at||R.kind==="makeup")&&y++,R.kind==="makeup"&&I++;const $=Bs(R,R.date,l,R.date===s);k+=$.workedMinutes??0}const D=new Map;for(const R of f){if(!(R.clock_in_at||R.kind==="makeup"))continue;const $=R.location||"未记录";D.set($,(D.get($)||0)+1)}const N=Array.from(D.entries()).map(R=>({name:R[0],count:R[1]})).sort((R,$)=>$.count-R.count),G=p.length||1,fe=Fs.map(R=>{const $=p.filter(le=>le.category===R.key).length;return{key:R.key,label:R.label,count:$,percent:Math.round($/G*100)}}).filter(R=>R.count>0).sort((R,$)=>$.count-R.count),ee=new Map(v.map(R=>[R.id,R.name])),E=new Map;for(const R of p){const $=R.project_id?ee.get(R.project_id)||"已删除项目":"无项目";E.set($,(E.get($)||0)+1)}const j=Array.from(E.entries()).map(R=>({name:R[0],count:R[1]})).sort((R,$)=>$.count-R.count),Y=p.filter(R=>R.is_milestone===1).map(R=>({date:R.date,content:R.content})),ae=p.filter(R=>R.needs_followup===1).map(R=>({date:R.date,content:R.content,remark:R.remark||""})),ie=p.filter(R=>!!R.takeaway).map(R=>({date:R.date,text:R.takeaway})),oe=b.map(R=>({weekStart:R.week_start,highlights:R.highlights||"",challenges:R.challenges||"",plan_next:R.plan_next||""}));return{range:{start:e,end:t,label:n},attendDays:y,totalHours:(k/60).toFixed(1),makeupCount:I,leaveCount:f.filter(R=>R.kind==="leave").length,itemCount:p.length,categoryStats:fe,projectStats:j,locationStats:N,milestones:Y,followups:ae,takeaways:ie,weekNotes:oe}}function Uy(e){const t=[];t.push("# 实习工作总结("+e.range.start+" ~ "+e.range.end+")"),t.push(""),t.push("## 一、考勤概况"),t.push(""),t.push("出勤 "+e.attendDays+" 天,累计工时 "+e.totalHours+" 小时,补卡 "+e.makeupCount+" 次"+(e.leaveCount?",请假 "+e.leaveCount+" 天":""));const n=e.locationStats.filter(s=>s.name!=="未记录");n.length&&t.push("其中:"+n.map(s=>s.name+" "+s.count+" 天").join(",")),t.push(""),t.push("## 二、工作内容分布"),t.push(""),t.push(e.categoryStats.length?e.categoryStats.map(s=>s.label+" "+s.percent+"%("+s.count+" 条)").join(","):"(无记录)"),t.push(""),t.push("## 三、项目投入"),t.push(""),t.push(e.projectStats.length?e.projectStats.map(s=>s.name+" "+s.count+" 条").join(","):"(无记录)"),t.push(""),t.push("## 四、主要成果"),t.push(""),e.milestones.length?e.milestones.forEach((s,i)=>t.push(i+1+". 【成果】"+s.content+"("+s.date+")")):t.push("(无)"),t.push(""),t.push("## 五、待跟进事项"),t.push(""),e.followups.length?e.followups.forEach(s=>t.push("- 【待跟进】"+s.content+(s.remark?"("+s.date+" 备注:"+s.remark+")":"("+s.date+")"))):t.push("(无)"),t.push(""),t.push("## 六、学习与成长"),t.push(""),e.takeaways.length?e.takeaways.forEach(s=>t.push("- "+s.text+"("+s.date+")")):t.push("(无)");for(const s of e.weekNotes)t.push(""),t.push("### 周记("+s.weekStart+" 起)"),t.push(""),t.push("- 本周亮点:"+(s.highlights||"(无)")),t.push("- 踩的坑:"+(s.challenges||"(无)")),t.push("- 下周计划:"+(s.plan_next||"(无)"));return t.push(""),t.join(`
`)}function ef(e,t){const n=new Blob([t],{type:"text/plain;charset=utf-8"}),s=URL.createObjectURL(n),i=document.createElement("a");i.href=s,i.download=e,i.click(),URL.revokeObjectURL(s)}async function Ca(e){try{await navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}}async function qy(e){const t=await Promise.all([ht("ai_base_url",""),ht("ai_api_key",""),ht("ai_model","")]),n=t[0].trim().replace(/\/+$/,""),s=t[1].trim(),i=t[2].trim();if(!n||!i)throw new Error("请先在设置页配置 AI 接口地址与模型名称");const l=n+"/chat/completions",f={"Content-Type":"application/json"};s&&(f.Authorization="Bearer "+s);const v=JSON.stringify({model:i,messages:[{role:"system",content:"你是一名严谨的中文助理。请将用户提供的工作总结 Markdown 草稿润色为通顺、专业、简洁的工作总结。要求:保留原有章节结构与全部事实数据(数字、日期、条目),不得虚构或遗漏内容,只输出 Markdown 正文。"},{role:"user",content:e}],temperature:.3});let b;try{b=await fetch(l,{method:"POST",headers:f,body:v})}catch{throw new Error("无法访问 AI 接口:请检查地址是否正确、服务端是否允许浏览器跨域访问")}if(!b.ok){let I="接口返回 "+b.status;try{const D=await b.json();D&&D.error&&D.error.message&&(I+=":"+D.error.message)}catch{}throw new Error(I)}const y=await b.json(),k=y&&y.choices&&y.choices[0]&&y.choices[0].message&&y.choices[0].message.content;if(!k)throw new Error("接口未返回内容");return String(k)}const Hy={class:"report"},Wy={class:"report-toolbar"},zy={class:"seg"},Gy=["onClick"],Yy=["disabled"],Jy=["disabled"],Xy={key:0,class:"ai-error"},Qy={class:"report-grid"},Zy={class:"report-left"},eg={class:"card section"},tg={class:"section-title"},ng={class:"muted note-saved"},rg={class:"card section"},sg={class:"report-right"},og={key:0,class:"card section"},ig={class:"sum-row"},ag={class:"num"},lg={class:"sum-row"},ug={class:"num"},cg={class:"sum-row"},fg={class:"num"},dg={class:"sum-row"},pg={class:"num"},hg={class:"sum-row"},vg={class:"num"},mg={class:"muted"},yg={class:"num"},gg={key:0,class:"muted sum-empty"},bg={class:"muted"},_g={key:1,class:"muted sum-empty"},wg={class:"muted"},kg={key:2,class:"muted sum-empty"},xg={class:"muted"},Cg={key:3,class:"muted sum-empty"},Sg=Ft({__name:"ReportView",setup(e){const t=[{key:"week",label:"本周"},{key:"month",label:"本月"},{key:"all",label:"全部"},{key:"custom",label:"自定义"}],n=L("week"),s=L(Cs(_t())),i=L(_t()),l=L(null),f=L(""),p=L(!1),v=L(!1),b=L(null),y=L(""),k=L(Cs(_t())),I=L(""),D=L(""),N=L(""),G=L(!1);async function fe(){const R=await Ya(k.value);I.value=(R==null?void 0:R.highlights)||"",D.value=(R==null?void 0:R.challenges)||"",N.value=(R==null?void 0:R.plan_next)||"",G.value=!1}async function ee(){await bv(k.value,{highlights:I.value.trim()||null,challenges:D.value.trim()||null,plan_next:N.value.trim()||null}),G.value=!0,await j()}function E(R){const $=_t();if(R==="week"){const le=Cs($);return{start:le,end:Nn(le,6),label:"本周"}}if(R==="month"){const le=$.slice(0,7);return{start:le+"-01",end:$,label:le+" 本月"}}return R==="all"?{start:"2000-01-01",end:$,label:"全部实习期"}:{start:s.value,end:i.value,label:s.value+" ~ "+i.value}}async function j(){p.value=!0;const R=E(n.value),$=await By(R.start,R.end,R.label);l.value=$,f.value=Uy($),p.value=!1}vt(n,j),vt([s,i],()=>{n.value==="custom"&&j()}),fn(async()=>{await fe(),await j()});function Y(){const R=_t().replace(/-/g,"");ef("实习工作总结_"+R+".md",f.value)}async function ae(){await Ca(f.value),ze("总结已复制到剪贴板")}async function ie(){if(v.value)return;y.value="";const R=f.value.trim();if(!R){y.value="当前草稿为空,无法润色";return}v.value=!0;try{b.value=f.value,f.value=await qy(R),ze("AI 润色完成")}catch($){b.value=null,y.value=$ instanceof Error?$.message:"润色失败"}v.value=!1}function oe(){b.value!==null&&(f.value=b.value),b.value=null}return(R,$)=>(K(),U("div",Hy,[u("div",Wy,[u("div",zy,[(K(),U(Ke,null,lt(t,le=>u("button",{key:le.key,class:Qe(["seg-btn",{active:n.value===le.key}]),onClick:Ee=>n.value=le.key},re(le.label),11,Gy)),64))]),n.value==="custom"?(K(),U(Ke,{key:0},[Ae(u("input",{type:"date",class:"input w-date","onUpdate:modelValue":$[0]||($[0]=le=>s.value=le)},null,512),[[De,s.value]]),$[6]||($[6]=u("span",{class:"muted"},"至",-1)),Ae(u("input",{type:"date",class:"input w-date","onUpdate:modelValue":$[1]||($[1]=le=>i.value=le)},null,512),[[De,i.value]])],64)):$e("",!0),$[10]||($[10]=u("span",{class:"flex1"},null,-1)),u("button",{class:"btn btn-sm",disabled:v.value,onClick:ie},[Me(at,{name:"edit",size:14}),$[7]||($[7]=tn("AI 润色 ",-1))],8,Yy),b.value!==null?(K(),U("button",{key:1,class:"btn btn-sm",onClick:oe},"还原润色前")):$e("",!0),u("button",{class:"btn btn-sm",disabled:p.value,onClick:j},[Me(at,{name:"edit",size:14}),$[8]||($[8]=tn("重新生成 ",-1))],8,Jy),u("button",{class:"btn btn-sm",onClick:ae},"复制"),u("button",{class:"btn btn-primary btn-sm",onClick:Y},[Me(at,{name:"export",size:14}),$[9]||($[9]=tn("导出 Markdown ",-1))])]),y.value?(K(),U("div",Xy,re(y.value),1)):$e("",!0),u("div",Qy,[u("div",Zy,[u("div",eg,[u("div",tg,"本周周记("+re(k.value)+" 起)",1),$[11]||($[11]=u("label",{class:"note-label muted"},"本周亮点",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[2]||($[2]=le=>I.value=le),placeholder:"本周最有价值的一件事",onBlur:ee},null,544),[[De,I.value]]),$[12]||($[12]=u("label",{class:"note-label muted"},"踩的坑",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[3]||($[3]=le=>D.value=le),placeholder:"遇到的问题与教训",onBlur:ee},null,544),[[De,D.value]]),$[13]||($[13]=u("label",{class:"note-label muted"},"下周计划",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[4]||($[4]=le=>N.value=le),placeholder:"下周准备做什么",onBlur:ee},null,544),[[De,N.value]]),u("div",ng,re(G.value?"已保存":"失焦自动保存"),1)]),u("div",rg,[$[14]||($[14]=u("div",{class:"section-title"},"总结草稿(可编辑)",-1)),Ae(u("textarea",{class:"textarea md-editor","onUpdate:modelValue":$[5]||($[5]=le=>f.value=le),spellcheck:"false"},null,512),[[De,f.value]])])]),u("div",sg,[l.value?(K(),U("div",og,[$[20]||($[20]=u("div",{class:"section-title"},"数据摘要",-1)),u("div",ig,[$[15]||($[15]=u("span",{class:"muted"},"出勤",-1)),u("span",ag,re(l.value.attendDays)+" 天",1)]),u("div",lg,[$[16]||($[16]=u("span",{class:"muted"},"工时",-1)),u("span",ug,re(l.value.totalHours)+" 小时",1)]),u("div",cg,[$[17]||($[17]=u("span",{class:"muted"},"补卡",-1)),u("span",fg,re(l.value.makeupCount)+" 次",1)]),u("div",dg,[$[18]||($[18]=u("span",{class:"muted"},"请假",-1)),u("span",pg,re(l.value.leaveCount)+" 天",1)]),u("div",hg,[$[19]||($[19]=u("span",{class:"muted"},"记录",-1)),u("span",vg,re(l.value.itemCount)+" 条",1)]),$[21]||($[21]=u("div",{class:"section-sub"},"分类分布",-1)),(K(!0),U(Ke,null,lt(l.value.categoryStats,le=>(K(),U("div",{key:le.key,class:"sum-row"},[u("span",mg,re(le.label),1),u("span",yg,re(le.count)+" 条 · "+re(le.percent)+"%",1)]))),128)),l.value.categoryStats.length?$e("",!0):(K(),U("div",gg,"(无)")),$[22]||($[22]=u("div",{class:"section-sub"},"主要成果",-1)),(K(!0),U(Ke,null,lt(l.value.milestones,(le,Ee)=>(K(),U("div",{key:"m"+Ee,class:"sum-item"},[tn(re(le.content),1),u("span",bg,"("+re(le.date)+")",1)]))),128)),l.value.milestones.length?$e("",!0):(K(),U("div",_g,"(无)")),$[23]||($[23]=u("div",{class:"section-sub"},"待跟进",-1)),(K(!0),U(Ke,null,lt(l.value.followups,(le,Ee)=>(K(),U("div",{key:"f"+Ee,class:"sum-item"},[tn(re(le.content),1),u("span",wg,"("+re(le.date)+")",1)]))),128)),l.value.followups.length?$e("",!0):(K(),U("div",kg,"(无)")),$[24]||($[24]=u("div",{class:"section-sub"},"学习与成长",-1)),(K(!0),U(Ke,null,lt(l.value.takeaways,(le,Ee)=>(K(),U("div",{key:"t"+Ee,class:"sum-item"},[tn(re(le.text),1),u("span",xg,"("+re(le.date)+")",1)]))),128)),l.value.takeaways.length?$e("",!0):(K(),U("div",Cg,"(无)"))])):$e("",!0)])])]))}}),Eg=Yt(Sg,[["__scopeId","data-v-3a1de681"]]),$g=["aria-label"],Ag={class:"dialog-head"},Tg={class:"dialog-title"},Og={class:"dialog-body"},Pg={class:"form-grid"},Mg={class:"field span2"},Ig={class:"seg"},Dg={class:"field"},jg={class:"field"},Kg={class:"field"},Rg=["value"],Ng={key:0,class:"field"},Lg={class:"seg"},Vg={class:"field span2"},Fg={key:0,class:"form-error"},Bg={class:"dialog-btns"},Ug=Ft({__name:"TransactionDialog",props:{open:{type:Boolean},title:{},initial:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L("expense"),l=L("餐饮"),f=L(""),p=L(""),v=L(""),b=L(!1),y=L(!1),k=L(""),I=L(null);function D(ee){n.open&&ee.key==="Escape"&&s("cancel")}vt(()=>n.open,async ee=>{var E;ee?(i.value=n.initial.type==="income"?"income":"expense",l.value=n.initial.category,f.value=n.initial.amountYuan,p.value=n.initial.date,v.value=n.initial.note,b.value=n.initial.reimbursable===1,y.value=n.initial.reimbursed===1,k.value="",window.addEventListener("keydown",D),await Zr(),(E=I.value)==null||E.focus()):window.removeEventListener("keydown",D)}),dr(()=>window.removeEventListener("keydown",D)),vt(i,ee=>{l.value=ee==="expense"?Wr[0]:Lo[0]});const N=ot(()=>i.value==="expense"?Wr:Lo);function G(){return l.value&&N.value.includes(l.value)?l.value:N.value[0]}function fe(){const ee=Number(f.value);if(!f.value.trim()||!isFinite(ee)||ee<=0){k.value="请填写大于 0 的金额";return}if(!p.value){k.value="请选择日期";return}const E=i.value==="expense"&&b.value?1:0;s("save",{type:i.value,category:G(),amount:Math.round(ee*100),date:p.value,note:v.value.trim(),reimbursable:E,reimbursed:E&&y.value?1:0})}return(ee,E)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:E[11]||(E[11]=Mr(j=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",Ag,[u("span",Tg,re(e.title),1),u("button",{class:"icon-btn",title:"关闭",onClick:E[0]||(E[0]=j=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",Og,[u("div",Pg,[u("div",Mg,[E[12]||(E[12]=u("label",null,"类型",-1)),u("div",Ig,[u("button",{class:Qe(["seg-btn",{active:i.value==="expense"}]),onClick:E[1]||(E[1]=j=>i.value="expense")},"支出",2),u("button",{class:Qe(["seg-btn",{active:i.value==="income"}]),onClick:E[2]||(E[2]=j=>i.value="income")},"收入",2)])]),u("div",Dg,[E[13]||(E[13]=u("label",null,"金额(元,必填)",-1)),Ae(u("input",{ref_key:"amountInput",ref:I,class:Qe(["input",{invalid:k.value}]),"onUpdate:modelValue":E[3]||(E[3]=j=>f.value=j),type:"number",min:"0",step:"0.01",placeholder:"0.00"},null,2),[[De,f.value]])]),u("div",jg,[E[14]||(E[14]=u("label",null,"日期(必填)",-1)),Ae(u("input",{class:"input",type:"date","onUpdate:modelValue":E[4]||(E[4]=j=>p.value=j)},null,512),[[De,p.value]])]),u("div",Kg,[E[15]||(E[15]=u("label",null,"分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[5]||(E[5]=j=>l.value=j)},[(K(!0),U(Ke,null,lt(N.value,j=>(K(),U("option",{key:j,value:j},re(j),9,Rg))),128))],512),[[Ln,l.value]])]),i.value==="expense"?(K(),U("div",Ng,[E[16]||(E[16]=u("label",null,"报销状态",-1)),u("div",Lg,[u("button",{class:Qe(["seg-btn",{active:!b.value}]),onClick:E[6]||(E[6]=j=>{b.value=!1,y.value=!1})},"无需报销",2),u("button",{class:Qe(["seg-btn",{active:b.value&&!y.value}]),onClick:E[7]||(E[7]=j=>{b.value=!0,y.value=!1})},"待报销",2),u("button",{class:Qe(["seg-btn",{active:b.value&&y.value}]),onClick:E[8]||(E[8]=j=>{b.value=!0,y.value=!0})},"已报销",2)])])):$e("",!0),u("div",Vg,[E[17]||(E[17]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":E[9]||(E[9]=j=>v.value=j),placeholder:"选填"},null,512),[[De,v.value]])])]),k.value?(K(),U("div",Fg,re(k.value),1)):$e("",!0)]),u("div",Bg,[u("button",{class:"btn btn-sm",onClick:E[10]||(E[10]=j=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:fe},"保存")])],8,$g)])):$e("",!0)]),_:1})]))}}),qg=Yt(Ug,[["__scopeId","data-v-e3568c0d"]]),Hg={class:"ledger-page"},Wg={class:"ledger-toolbar"},zg={class:"month-title num"},Gg={class:"cards"},Yg={class:"card stat-card"},Jg={class:"stat-num num amt-income"},Xg={class:"card stat-card"},Qg={class:"stat-num num"},Zg={class:"card stat-card"},eb={class:"card stat-card"},tb={class:"stat-num num amt-warn"},nb={class:"card sec"},rb={class:"form-grid"},sb={class:"field span2"},ob={class:"seg"},ib={class:"field"},ab={class:"field"},lb={class:"field"},ub=["value"],cb={key:0,class:"field"},fb={class:"field span2"},db={key:0,class:"form-error"},pb={class:"form-footer"},hb=["disabled"],vb=["disabled"],mb={key:0,class:"card sec"},yb={class:"bar-label"},gb={class:"bar-track"},bb={class:"muted num bar-num"},_b={class:"card table-card"},wb={class:"tx-table"},kb={class:"num"},xb={class:"tag"},Cb={class:"td-note"},Sb={key:0,class:"muted"},Eb={key:1,class:"tx-done"},$b={key:2,class:"tx-pending"},Ab={class:"ops"},Tb=["onClick"],Ob=["onClick"],Pb=["onClick"],Mb={key:0},Ib={class:"muted vault-note num"},Db=Ft({__name:"LedgerView",setup(e){const t=L(_t()),n=L([]),s=L(!0),i=L("expense"),l=L(""),f=L(Wr[0]),p=L(_t()),v=L(""),b=L(!1),y=L(""),k=L(!1),I=L(!1),D=L(null),N=L({type:"expense",category:Wr[0],amountYuan:"",date:_t(),note:"",reimbursable:0,reimbursed:0}),G=L(null),fe=ot(()=>t.value.slice(0,7)+"-01"),ee=ot(()=>{const ge=Number(t.value.slice(0,4)),Q=Number(t.value.slice(5,7))-1,X=new Date(ge,Q+1,0).getDate();return t.value.slice(0,7)+"-"+(X<10?"0"+X:String(X))}),E=ot(()=>Number(t.value.slice(0,4))+" 年 "+Number(t.value.slice(5,7))+" 月");async function j(){s.value=!0,n.value=await $v(fe.value,ee.value),s.value=!1}fn(j),vt(t,j),vt(i,ge=>{f.value=ge==="expense"?Wr[0]:Lo[0]});const Y=ot(()=>n.value.slice().sort((ge,Q)=>ge.date===Q.date?Q.id-ge.id:ge.date<Q.date?1:-1)),ae=ot(()=>{let ge=0,Q=0,X=0;for(const Ce of n.value)Ce.type==="income"?ge+=Ce.amount:(Q+=Ce.amount,Ce.reimbursable===1&&Ce.reimbursed!==1&&(X+=Ce.amount));return{income:ge,expense:Q,pending:X,balance:ge-Q}}),ie=L("all"),oe=L("all"),R=ot(()=>Y.value.filter(ge=>!(ie.value!=="all"&&ge.type!==ie.value||oe.value==="pending"&&!(ge.type==="expense"&&ge.reimbursable===1&&ge.reimbursed!==1)||oe.value==="done"&&!(ge.reimbursable===1&&ge.reimbursed===1)))),$=ot(()=>{const ge=new Map;let Q=0;for(const Ce of n.value)Ce.type==="expense"&&(ge.set(Ce.category,(ge.get(Ce.category)||0)+Ce.amount),Q+=Ce.amount);const X=Q||1;return Array.from(ge.entries()).map(Ce=>({name:Ce[0],amount:Ce[1],percent:Math.round(Ce[1]/X*100)})).sort((Ce,At)=>At.amount-Ce.amount)});function le(ge){return(ge/100).toFixed(2)}function Ee(ge){return(ge.type==="income"?"+":"-")+le(ge.amount)}function J(){t.value=Vo(t.value,-1)}function xe(){t.value=Vo(t.value,1)}function Fe(){t.value=_t()}vt(l,()=>{y.value&&(y.value="")});async function tt(){const ge=Number(l.value);if(!l.value.trim()||!isFinite(ge)||ge<=0){y.value="请填写大于 0 的金额";return}if(!p.value){y.value="请选择日期";return}k.value||(k.value=!0,await Av({type:i.value,category:f.value,amount:Math.round(ge*100),date:p.value,note:v.value.trim(),reimbursable:i.value==="expense"&&b.value?1:0,reimbursed:0}),l.value="",v.value="",b.value=!1,y.value="",await j(),ze("记账已添加"),k.value=!1)}function Be(){l.value="",v.value="",b.value=!1,y.value=""}async function Ge(ge){await Pv(ge.id),await j(),ze("已标记为已报销")}function _e(ge){D.value=ge.id,N.value={type:ge.type,category:ge.category,amountYuan:le(ge.amount),date:ge.date,note:ge.note||"",reimbursable:ge.reimbursable,reimbursed:ge.reimbursed},I.value=!0}async function je(ge){const Q=D.value;await Tv(Q,ge),I.value=!1,await j(),ze("账目已更新")}async function et(){G.value&&G.value.id&&await Ov(G.value.id),G.value=null,await j(),ze("账目已删除")}return(ge,Q)=>(K(),U("div",Hg,[u("div",Wg,[u("button",{class:"icon-btn",onClick:J},[Me(at,{name:"chevron-left",size:16})]),u("span",zg,re(E.value),1),u("button",{class:"icon-btn",onClick:xe},[Me(at,{name:"chevron-right",size:16})]),u("button",{class:"btn btn-sm",onClick:Fe},"回到本月"),Q[13]||(Q[13]=u("span",{class:"flex1"},null,-1)),Ae(u("select",{class:"select w-filter","onUpdate:modelValue":Q[0]||(Q[0]=X=>ie.value=X)},[...Q[11]||(Q[11]=[u("option",{value:"all"},"全部类型",-1),u("option",{value:"expense"},"仅支出",-1),u("option",{value:"income"},"仅收入",-1)])],512),[[Ln,ie.value]]),Ae(u("select",{class:"select w-filter","onUpdate:modelValue":Q[1]||(Q[1]=X=>oe.value=X)},[...Q[12]||(Q[12]=[u("option",{value:"all"},"全部报销",-1),u("option",{value:"pending"},"待报销",-1),u("option",{value:"done"},"已报销",-1)])],512),[[Ln,oe.value]])]),u("div",Gg,[u("div",Yg,[Q[14]||(Q[14]=u("div",{class:"muted"},"本月收入(元)",-1)),u("div",Jg,re(le(ae.value.income)),1)]),u("div",Xg,[Q[15]||(Q[15]=u("div",{class:"muted"},"本月支出(元)",-1)),u("div",Qg,re(le(ae.value.expense)),1)]),u("div",Zg,[Q[16]||(Q[16]=u("div",{class:"muted"},"本月结余(元)",-1)),u("div",{class:Qe(["stat-num num",{"amt-income":ae.value.balance>=0,"amt-expense":ae.value.balance<0}])},re(le(ae.value.balance)),3)]),u("div",eb,[Q[17]||(Q[17]=u("div",{class:"muted"},"待报销(元)",-1)),u("div",tb,re(le(ae.value.pending)),1)])]),u("div",nb,[Q[24]||(Q[24]=u("div",{class:"sec-head"},[u("span",{class:"sec-title"},"新增一笔"),u("span",{class:"muted form-hint"},"金额必填,回车快速添加")],-1)),u("div",rb,[u("div",sb,[Q[18]||(Q[18]=u("label",null,"类型",-1)),u("div",ob,[u("button",{class:Qe(["seg-btn",{active:i.value==="expense"}]),onClick:Q[2]||(Q[2]=X=>i.value="expense")},"支出",2),u("button",{class:Qe(["seg-btn",{active:i.value==="income"}]),onClick:Q[3]||(Q[3]=X=>i.value="income")},"收入",2)])]),u("div",ib,[Q[19]||(Q[19]=u("label",null,"金额(元,必填)",-1)),Ae(u("input",{class:Qe(["input",{invalid:y.value}]),"onUpdate:modelValue":Q[4]||(Q[4]=X=>l.value=X),type:"number",min:"0",step:"0.01",placeholder:"0.00",onKeydown:Dt(tt,["enter"])},null,34),[[De,l.value]])]),u("div",ab,[Q[20]||(Q[20]=u("label",null,"日期",-1)),Ae(u("input",{class:"input",type:"date","onUpdate:modelValue":Q[5]||(Q[5]=X=>p.value=X)},null,512),[[De,p.value]])]),u("div",lb,[Q[21]||(Q[21]=u("label",null,"分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":Q[6]||(Q[6]=X=>f.value=X)},[(K(!0),U(Ke,null,lt(i.value==="expense"?nn(Wr):nn(Lo),X=>(K(),U("option",{key:X,value:X},re(X),9,ub))),128))],512),[[Ln,f.value]])]),i.value==="expense"?(K(),U("div",cb,[Q[22]||(Q[22]=u("label",null,"报销",-1)),u("button",{class:Qe(["toggle-btn",{on:b.value}]),onClick:Q[7]||(Q[7]=X=>b.value=!b.value)},re(b.value?"需要报销":"无需报销"),3)])):$e("",!0),u("div",fb,[Q[23]||(Q[23]=u("label",null,"备注",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":Q[8]||(Q[8]=X=>v.value=X),placeholder:"选填,如:客户现场午餐",onKeydown:Dt(tt,["enter"])},null,544),[[De,v.value]])])]),y.value?(K(),U("div",db,re(y.value),1)):$e("",!0),u("div",pb,[u("button",{class:"btn btn-sm",disabled:!(l.value.trim()||v.value.trim()),onClick:Be},"重置",8,hb),u("button",{class:"btn btn-primary btn-sm",disabled:k.value,onClick:tt},"添加记录",8,vb)])]),$.value.length?(K(),U("div",mb,[Q[25]||(Q[25]=u("div",{class:"sec-title"},"本月支出分类",-1)),(K(!0),U(Ke,null,lt($.value,X=>(K(),U("div",{key:X.name,class:"bar-row"},[u("span",yb,re(X.name),1),u("span",gb,[u("span",{class:"bar-fill",style:sr({width:X.percent+"%"})},null,4)]),u("span",bb,re(le(X.amount))+" 元 · "+re(X.percent)+"%",1)]))),128))])):$e("",!0),u("div",_b,[u("table",wb,[Q[27]||(Q[27]=u("thead",null,[u("tr",null,[u("th",null,"日期"),u("th",null,"分类"),u("th",null,"金额(元)"),u("th",null,"备注"),u("th",null,"报销"),u("th",{class:"th-ops"},"操作")])],-1)),u("tbody",null,[(K(!0),U(Ke,null,lt(R.value,X=>(K(),U("tr",{key:X.id},[u("td",kb,re(X.date),1),u("td",null,[u("span",xb,re(X.category),1)]),u("td",{class:Qe(["num",X.type==="income"?"amt-income":"amt-expense"])},re(Ee(X)),3),u("td",Cb,re(X.note||"--"),1),u("td",null,[X.type!=="expense"||X.reimbursable!==1?(K(),U("span",Sb,"--")):X.reimbursed===1?(K(),U("span",Eb,"已报销")):(K(),U("span",$b,"待报销"))]),u("td",null,[u("div",Ab,[X.type==="expense"&&X.reimbursable===1&&X.reimbursed!==1?(K(),U("button",{key:0,class:"btn btn-xs",onClick:Ce=>Ge(X)},"标记已报销",8,Tb)):$e("",!0),u("button",{class:"btn btn-xs",onClick:Ce=>_e(X)},"编辑",8,Ob),u("button",{class:"btn btn-xs",onClick:Ce=>G.value=X},"删除",8,Pb)])])]))),128)),!R.value.length&&!s.value?(K(),U("tr",Mb,[...Q[26]||(Q[26]=[u("td",{colspan:"6",class:"empty muted"},"本月暂无账目",-1)])])):$e("",!0)])])]),u("div",Ib,"筛选结果 "+re(R.value.length)+" 条 / 本月共 "+re(n.value.length)+" 条",1),Me(qg,{open:I.value,title:(D.value,"编辑账目"),initial:N.value,onCancel:Q[9]||(Q[9]=X=>I.value=!1),onSave:je},null,8,["open","title","initial"]),Me(ur,{open:!!G.value,title:"删除确认",message:G.value?"将删除 "+G.value.date+" 的账目("+G.value.category+" "+le(G.value.amount)+" 元)。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:Q[10]||(Q[10]=X=>G.value=null),onConfirm:et},null,8,["open","message"])]))}}),jb=Yt(Db,[["__scopeId","data-v-8acec676"]]),Kb={class:"memo-page"},Rb={class:"card memo-list"},Nb={class:"pane-head"},Lb={class:"pane-title"},Vb={class:"memo-scroll"},Fb=["onClick"],Bb={class:"memo-item-title"},Ub={class:"muted memo-item-sub"},qb={class:"muted num memo-item-time"},Hb={key:0,class:"muted empty"},Wb={class:"card memo-editor"},zb={class:"editor-foot"},Gb={class:"muted foot-info"},Yb=["disabled"],Jb=["disabled"],Xb={key:1,class:"empty muted editor-empty"},Qb=Ft({__name:"MemoView",setup(e){const t=L([]),n=L(null),s=L(!1),i=L(""),l=L(""),f=L(null),p=L(null);async function v(){if(t.value=await wv(),n.value&&n.value.id){const ie=t.value.find(oe=>oe.id===n.value.id);ie&&(n.value=ie)}}fn(async()=>{await v(),t.value.length&&k(t.value[0]),window.addEventListener("keydown",b)}),dr(()=>window.removeEventListener("keydown",b)),vt(xa,async ie=>{if(!ie)return;t.value.length||await v();const oe=t.value.find(R=>R.id===ie);xa.value=null,oe&&I(oe)},{immediate:!0});function b(ie){(ie.ctrlKey||ie.metaKey)&&ie.key.toLowerCase()==="s"&&s.value&&y.value&&(ie.preventDefault(),fe())}const y=ot(()=>{if(!s.value)return!1;const ie=n.value?n.value.title:"",oe=n.value?n.value.content:"";return i.value!==ie||l.value!==oe});function k(ie){n.value=ie,s.value=!0,i.value=ie.title,l.value=ie.content}function I(ie){if(!(s.value&&n.value&&n.value.id===ie.id)){if(y.value){p.value={type:"select",memo:ie};return}k(ie)}}function D(){if(y.value){p.value={type:"new"};return}N()}function N(){n.value=null,s.value=!0,i.value="",l.value=""}function G(){n.value?k(n.value):N()}async function fe(){if(!i.value.trim()&&!l.value.trim()){ze("标题与内容不能都为空");return}if(n.value&&n.value.id)await xv(n.value.id,i.value,l.value),ze("备忘已保存");else{const ie=await kv(i.value,l.value);n.value=ie,i.value=ie.title,l.value=ie.content,ze("备忘已创建")}await v()}function ee(){n.value&&n.value.id&&(f.value=n.value)}async function E(){f.value&&f.value.id&&(await Cv(f.value.id),ze("备忘已删除")),f.value=null,await v(),N()}function j(){const ie=p.value;p.value=null,ie&&(ie.type==="select"?k(ie.memo):N())}function Y(ie){return(ie.content||"").replace(/\s+/g," ").slice(0,30)}function ae(ie){return ie.replace("T"," ").slice(0,16)}return(ie,oe)=>(K(),U("div",Kb,[u("aside",Rb,[u("div",Nb,[u("span",Lb,"备忘录("+re(t.value.length)+")",1),u("button",{class:"btn btn-primary btn-sm",onClick:D},"新建")]),u("div",Vb,[(K(!0),U(Ke,null,lt(t.value,R=>(K(),U("div",{key:R.id,class:Qe(["memo-item",{active:s.value&&n.value&&n.value.id===R.id}]),onClick:$=>I(R)},[u("div",Bb,re(R.title||"无标题"),1),u("div",Ub,re(Y(R)||"空"),1),u("div",qb,re(ae(R.updated_at)),1)],10,Fb))),128)),t.value.length?$e("",!0):(K(),U("div",Hb,"暂无备忘"))])]),u("section",Wb,[s.value?(K(),U(Ke,{key:0},[Ae(u("input",{class:"input title-input","onUpdate:modelValue":oe[0]||(oe[0]=R=>i.value=R),placeholder:"标题"},null,512),[[De,i.value]]),Ae(u("textarea",{class:"textarea content-textarea","onUpdate:modelValue":oe[1]||(oe[1]=R=>l.value=R),placeholder:"内容"},null,512),[[De,l.value]]),u("div",zb,[u("span",Gb,[y.value?(K(),U(Ke,{key:0},[tn("有未保存修改")],64)):n.value&&n.value.id?(K(),U(Ke,{key:1},[tn("更新于 "+re(ae(n.value.updated_at)),1)],64)):(K(),U(Ke,{key:2},[tn("新备忘")],64))]),oe[4]||(oe[4]=u("span",{class:"flex1"},null,-1)),n.value&&n.value.id?(K(),U("button",{key:0,class:"btn btn-sm",onClick:ee},"删除")):$e("",!0),u("button",{class:"btn btn-sm",disabled:!y.value,onClick:G},"放弃修改",8,Yb),u("button",{class:"btn btn-primary btn-sm",disabled:!y.value,onClick:fe},"保存",8,Jb)])],64)):(K(),U("div",Xb,"选择左侧备忘,或点击右上角新建"))]),Me(ur,{open:!!f.value,title:"删除确认",message:f.value?"将删除备忘「"+(f.value.title||"无标题")+"」。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:oe[2]||(oe[2]=R=>f.value=null),onConfirm:E},null,8,["open","message"]),Me(ur,{open:!!p.value,title:"未保存提示",message:"当前备忘有未保存的修改,继续操作将丢失这些修改。","confirm-text":"放弃修改并继续",onCancel:oe[3]||(oe[3]=R=>p.value=null),onConfirm:j},null,8,["open"])]))}}),Zb=Yt(Qb,[["__scopeId","data-v-74d60dba"]]),e_=["aria-label"],t_={class:"dialog-head"},n_={class:"dialog-title"},r_={class:"dialog-body"},s_={class:"form-grid"},o_={class:"field span2"},i_={class:"field span2"},a_={class:"field span2"},l_={class:"pwd-row"},u_={class:"field span2"},c_={key:0,class:"form-error"},f_={class:"dialog-btns"},d_=Ft({__name:"CredentialDialog",props:{open:{type:Boolean},title:{},initial:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L(null);function y(D){n.open&&D.key==="Escape"&&s("cancel")}vt(()=>n.open,async D=>{var N;D?(i.value=n.initial.system,l.value=n.initial.account,f.value=n.initial.password,p.value=n.initial.remark,v.value="",window.addEventListener("keydown",y),await Zr(),(N=b.value)==null||N.focus()):window.removeEventListener("keydown",y)}),dr(()=>window.removeEventListener("keydown",y));function k(){const D="ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789",N="!@#$%^&*",G=crypto.getRandomValues(new Uint8Array(14));let fe="";for(let ee=0;ee<G.length;ee++)fe+=D[G[ee]%D.length];fe+=N[crypto.getRandomValues(new Uint8Array(1))[0]%N.length],f.value=fe,v.value=""}function I(){if(!i.value.trim()||!l.value.trim()||!f.value){v.value="系统名称、账号、密码为必填项";return}s("save",{system:i.value.trim(),account:l.value.trim(),password:f.value,remark:p.value.trim()})}return(D,N)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:N[6]||(N[6]=Mr(G=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",t_,[u("span",n_,re(e.title),1),u("button",{class:"icon-btn",title:"关闭",onClick:N[0]||(N[0]=G=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",r_,[u("div",s_,[u("div",o_,[N[7]||(N[7]=u("label",null,"系统名称(必填)",-1)),Ae(u("input",{ref_key:"systemInput",ref:b,class:"input","onUpdate:modelValue":N[1]||(N[1]=G=>i.value=G),placeholder:"如:企业邮箱 / OA / VPN"},null,512),[[De,i.value]])]),u("div",i_,[N[8]||(N[8]=u("label",null,"账号(必填)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":N[2]||(N[2]=G=>l.value=G),placeholder:"用户名、工号或邮箱"},null,512),[[De,l.value]])]),u("div",a_,[N[9]||(N[9]=u("label",null,"密码(必填)",-1)),u("div",l_,[Ae(u("input",{class:"input","onUpdate:modelValue":N[3]||(N[3]=G=>f.value=G),placeholder:"输入或点击生成"},null,512),[[De,f.value]]),u("button",{class:"btn btn-sm",onClick:k},"生成")])]),u("div",u_,[N[10]||(N[10]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":N[4]||(N[4]=G=>p.value=G),placeholder:"用途、到期时间、负责人等(选填)"},null,512),[[De,p.value]])])]),v.value?(K(),U("div",c_,re(v.value),1)):$e("",!0)]),u("div",f_,[u("button",{class:"btn btn-sm",onClick:N[5]||(N[5]=G=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:I},"保存")])],8,e_)])):$e("",!0)]),_:1})]))}}),p_=Yt(d_,[["__scopeId","data-v-f383b0a6"]]),tf=15e4;function Bo(e){const t=new Uint8Array(e);let n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return btoa(n)}function Uo(e){const t=atob(e),n=new Uint8Array(t.length);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return n}function Ja(){return Bo(crypto.getRandomValues(new Uint8Array(16)).buffer)}async function qo(e,t){const n=new TextEncoder,s=await crypto.subtle.importKey("raw",n.encode(e),"PBKDF2",!1,["deriveBits"]),i=await crypto.subtle.deriveBits({name:"PBKDF2",salt:Uo(t),iterations:tf,hash:"SHA-256"},s,256);return Bo(i)}async function Ho(e,t){const n=new TextEncoder,s=await crypto.subtle.importKey("raw",n.encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:Uo(t),iterations:tf,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Wo(e,t){const n=crypto.getRandomValues(new Uint8Array(12)),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:n},e,new TextEncoder().encode(t));return Bo(n.buffer)+":"+Bo(s)}async function ci(e,t){const n=t.split(":");if(n.length!==2)throw new Error("密文格式错误");const s=await crypto.subtle.decrypt({name:"AES-GCM",iv:Uo(n[0])},e,Uo(n[1]));return new TextDecoder().decode(s)}const nf="intern-log-vault-verify",Qr="enc:v1:";let jr=null;function h_(){return jr!==null}function zo(){jr=null}async function rf(){return await ht("pwd_salt","")!==""}async function v_(e){if(e.length<6)throw new Error("主密码至少 6 位");if(await rf())throw new Error("主密码已设置");const t=Ja(),n=await Ho(e,t),s=await Wo(n,nf);await bt("pwd_salt",t),await bt("pwd_verifier",s),jr=n}async function m_(e){const t=await ht("pwd_salt","");if(!t)throw new Error("主密码尚未设置");const n=await Ho(e,t),s=await ht("pwd_verifier","");try{await ci(n,s)}catch{throw new Error("主密码不正确")}jr=n}async function sf(){if(!jr)throw new Error("密码库未解锁");return jr}async function y_(e){const t=await sf();return Qr+await Wo(t,e)}async function g_(e){if(!e)return"";if(!e.startsWith(Qr))return e;const t=await sf();return ci(t,e.slice(Qr.length))}async function b_(){return ne.credential.orderBy("system").toArray()}async function __(e,t){const n=await y_(e.password),s={system:e.system.trim(),account:e.account.trim(),password:n,remark:e.remark.trim()};t?await ne.credential.update(t,{...s,updated_at:yt()}):await ne.credential.add({...s,created_at:yt(),updated_at:yt()})}async function w_(e){await ne.credential.delete(e)}async function oa(e){const t=await ne.credential.get(e);if(!t)throw new Error("记录不存在");return g_(t.password)}async function k_(e,t){if(!e)throw new Error("请输入旧主密码");if(t.length<6)throw new Error("新主密码至少 6 位");if(t===e)throw new Error("新主密码不能与旧主密码相同");const n=await ht("pwd_salt","");if(!n)throw new Error("密码库尚未初始化");const s=await Ho(e,n),i=await ht("pwd_verifier","");try{await ci(s,i)}catch{throw new Error("旧主密码不正确")}const l=await Ho(t,n),f=await ne.credential.toArray();let p=0;for(const v of f){if(v.id==null)continue;const b=await x_(v.password,s),y=Qr+await Wo(l,b);await ne.credential.update(v.id,{password:y}),p++}return await bt("pwd_verifier",await Wo(l,nf)),jr=l,p}async function x_(e,t){return e?e.startsWith(Qr)?ci(t,e.slice(Qr.length)):e:""}const C_={class:"vault-page"},S_={key:0,class:"empty muted"},E_={key:1,class:"card lock-card"},$_={class:"lock-badge"},A_={key:0,class:"form-error"},T_=["disabled"],O_={key:0,class:"form-error"},P_=["disabled"],M_={class:"vault-toolbar"},I_={class:"search-wrap"},D_={class:"card table-card"},j_={class:"cred-table"},K_={class:"td-system"},R_=["onClick"],N_={class:"pwd-cell"},L_={class:"num pwd-text"},V_=["onClick"],F_=["onClick"],B_={class:"td-remark"},U_={class:"ops"},q_=["onClick"],H_=["onClick"],W_={key:0},z_={class:"muted vault-note num"},G_={class:"dialog pwd-dialog"},Y_={class:"dialog-head"},J_={class:"dialog-body"},X_={class:"vp-field"},Q_={class:"vp-field"},Z_={class:"vp-field"},ew={key:0,class:"form-error"},tw={class:"dialog-btns"},nw=5*60*1e3,rw=Ft({__name:"VaultView",setup(e){const t=L(null),n=L(h_()),s=L(!1),i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L([]),y=L(""),k=L({}),I=L(!1),D=L(null),N=L({system:"",account:"",password:"",remark:""}),G=L(null),fe=L(!1),ee=L(""),E=L(""),j=L(""),Y=L("");async function ae(){b.value=await b_(),k.value={}}let ie=null;function oe(){ie!==null&&window.clearTimeout(ie),ie=window.setTimeout(()=>{n.value&&(zo(),n.value=!1,b.value=[],k.value={},ze("长时间未操作,密码库已自动锁定"))},nw)}function R(){n.value&&oe()}fn(async()=>{t.value=await rf(),window.addEventListener("click",R),window.addEventListener("keydown",R),n.value&&oe()}),dr(()=>{window.removeEventListener("click",R),window.removeEventListener("keydown",R),ie!==null&&window.clearTimeout(ie)});const $=ot(()=>{const Q=y.value.trim().toLowerCase();return Q?b.value.filter(X=>(X.system+" "+X.account+" "+(X.remark||"")).toLowerCase().includes(Q)):b.value});async function le(){if(!s.value){if(f.value="",!i.value){f.value="请输入主密码";return}if(i.value.length<6){f.value="主密码至少 6 位";return}if(i.value!==l.value){f.value="两次输入的主密码不一致";return}s.value=!0;try{await v_(i.value),i.value="",l.value="",n.value=!0,oe(),await ae(),ze("主密码已设置,密码库已解锁")}catch(Q){f.value=Q instanceof Error?Q.message:"设置失败"}s.value=!1}}async function Ee(){if(!s.value){if(v.value="",!p.value){v.value="请输入主密码";return}s.value=!0;try{await m_(p.value),p.value="",n.value=!0,oe(),await ae()}catch(Q){v.value=Q instanceof Error?Q.message:"解锁失败"}s.value=!1}}function J(){zo(),n.value=!1,b.value=[],k.value={},ie!==null&&window.clearTimeout(ie),ze("密码库已锁定")}async function xe(Q){const X=Q.id;if(k.value[X]){k.value[X]=!1;return}try{Q.passwordPlain=await oa(X),k.value[X]=!0}catch(Ce){ze(Ce instanceof Error?Ce.message:"解密失败")}}async function Fe(Q){try{const X=await oa(Q.id);await Ca(X),ze("密码已复制")}catch(X){ze(X instanceof Error?X.message:"复制失败")}}async function tt(Q){await Ca(Q.account),ze("账号已复制")}function Be(){D.value=null,N.value={system:"",account:"",password:"",remark:""},I.value=!0}async function Ge(Q){try{const X=await oa(Q.id);D.value=Q.id,N.value={system:Q.system,account:Q.account,password:X,remark:Q.remark||""},I.value=!0}catch(X){ze(X instanceof Error?X.message:"解密失败")}}async function _e(Q){const X=D.value??void 0;await __(Q,X),I.value=!1,await ae(),ze(X?"账号已更新":"账号已添加")}async function je(){G.value&&G.value.id&&(await w_(G.value.id),ze("账号已删除")),G.value=null,await ae()}function et(){ee.value="",E.value="",j.value="",Y.value="",fe.value=!0}async function ge(){Y.value="";try{const Q=await k_(ee.value,E.value);fe.value=!1,ee.value="",E.value="",j.value="",ze("主密码已修改,"+Q+" 条账号密码已重新加密")}catch(Q){Y.value=Q instanceof Error?Q.message:"修改失败"}}return(Q,X)=>(K(),U("div",C_,[t.value===null?(K(),U("div",S_,"加载中")):n.value?(K(),U(Ke,{key:2},[u("div",M_,[u("div",I_,[Me(at,{name:"search",size:14,class:"search-icon"}),Ae(u("input",{class:"input","onUpdate:modelValue":X[3]||(X[3]=Ce=>y.value=Ce),placeholder:"搜索系统名称、账号或备注"},null,512),[[De,y.value]])]),X[16]||(X[16]=u("span",{class:"flex1"},null,-1)),u("button",{class:"btn btn-sm",onClick:et},"修改主密码"),u("button",{class:"btn btn-sm",onClick:J},"锁定"),u("button",{class:"btn btn-primary btn-sm",onClick:Be},"新增账号")]),u("div",D_,[u("table",j_,[X[18]||(X[18]=u("thead",null,[u("tr",null,[u("th",null,"系统名称"),u("th",null,"账号"),u("th",null,"密码"),u("th",null,"备注"),u("th",{class:"th-ops"},"操作")])],-1)),u("tbody",null,[(K(!0),U(Ke,null,lt($.value,Ce=>(K(),U("tr",{key:Ce.id},[u("td",K_,re(Ce.system),1),u("td",null,[u("span",{class:"copyable",title:"点击复制账号",onClick:At=>tt(Ce)},re(Ce.account),9,R_)]),u("td",null,[u("div",N_,[u("span",L_,re(k.value[Ce.id]?Ce.passwordPlain:"........"),1),u("button",{class:"btn btn-xs",onClick:At=>xe(Ce)},re(k.value[Ce.id]?"隐藏":"显示"),9,V_),u("button",{class:"btn btn-xs",onClick:At=>Fe(Ce)},"复制",8,F_)])]),u("td",B_,re(Ce.remark||"--"),1),u("td",null,[u("div",U_,[u("button",{class:"btn btn-xs",onClick:At=>Ge(Ce)},"编辑",8,q_),u("button",{class:"btn btn-xs",onClick:At=>G.value=Ce},"删除",8,H_)])])]))),128)),$.value.length?$e("",!0):(K(),U("tr",W_,[...X[17]||(X[17]=[u("td",{colspan:"5",class:"empty muted"},"暂无账号,点击右上角新增",-1)])]))])])]),u("div",z_,"共 "+re(b.value.length)+" 条账号记录 · 密码以 AES-256-GCM 加密存储于本机",1)],64)):(K(),U("div",E_,[u("div",$_,[Me(at,{name:"lock",size:26})]),t.value===!1?(K(),U(Ke,{key:0},[X[12]||(X[12]=u("div",{class:"lock-title"},"设置主密码",-1)),X[13]||(X[13]=u("div",{class:"muted lock-tip"},"主密码用于加密保存在本机的账号密码,遗忘后无法找回,请务必牢记",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[0]||(X[0]=Ce=>i.value=Ce),placeholder:"设置主密码(至少 6 位)",onKeydown:Dt(le,["enter"])},null,544),[[De,i.value]]),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[1]||(X[1]=Ce=>l.value=Ce),placeholder:"再次输入主密码",onKeydown:Dt(le,["enter"])},null,544),[[De,l.value]]),f.value?(K(),U("div",A_,re(f.value),1)):$e("",!0),u("button",{class:"btn btn-primary lock-btn",disabled:s.value,onClick:le},"完成设置并解锁",8,T_)],64)):(K(),U(Ke,{key:1},[X[14]||(X[14]=u("div",{class:"lock-title"},"密码库已锁定",-1)),X[15]||(X[15]=u("div",{class:"muted lock-tip"},"输入主密码解锁后查看与复制密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[2]||(X[2]=Ce=>p.value=Ce),placeholder:"主密码",onKeydown:Dt(Ee,["enter"])},null,544),[[De,p.value]]),v.value?(K(),U("div",O_,re(v.value),1)):$e("",!0),u("button",{class:"btn btn-primary lock-btn",disabled:s.value,onClick:Ee},"解锁",8,P_)],64))])),Me(p_,{open:I.value,title:D.value?"编辑账号":"新增账号",initial:N.value,onCancel:X[4]||(X[4]=Ce=>I.value=!1),onSave:_e},null,8,["open","title","initial"]),Me(ur,{open:!!G.value,title:"删除确认",message:G.value?"将删除系统「"+G.value.system+"」的账号记录。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:X[5]||(X[5]=Ce=>G.value=null),onConfirm:je},null,8,["open","message"]),(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[fe.value?(K(),U("div",{key:0,class:"mask",onClick:X[11]||(X[11]=Mr(Ce=>fe.value=!1,["self"]))},[u("div",G_,[u("div",Y_,[X[19]||(X[19]=u("span",{class:"dialog-title"},"修改主密码",-1)),u("button",{class:"icon-btn",title:"关闭",onClick:X[6]||(X[6]=Ce=>fe.value=!1)},[Me(at,{name:"close",size:16})])]),u("div",J_,[u("div",X_,[X[20]||(X[20]=u("label",null,"旧主密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[7]||(X[7]=Ce=>ee.value=Ce)},null,512),[[De,ee.value]])]),u("div",Q_,[X[21]||(X[21]=u("label",null,"新主密码(至少 6 位)",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[8]||(X[8]=Ce=>E.value=Ce)},null,512),[[De,E.value]])]),u("div",Z_,[X[22]||(X[22]=u("label",null,"确认新主密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[9]||(X[9]=Ce=>j.value=Ce)},null,512),[[De,j.value]])]),Y.value?(K(),U("div",ew,re(Y.value),1)):$e("",!0),X[23]||(X[23]=u("div",{class:"muted vp-tip"},"确认后所有账号密码将使用新主密码重新加密",-1))]),u("div",tw,[u("button",{class:"btn btn-sm",onClick:X[10]||(X[10]=Ce=>fe.value=!1)},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:ge},"确认修改")])])])):$e("",!0)]),_:1})]))]))}}),sw=Yt(rw,[["__scopeId","data-v-6820bc9c"]]);function ow(e){return'"'+(e==null?"":String(e)).replace(/"/g,'""')+'"'}function Cu(e,t){const n=t.map(f=>f.map(ow).join(",")).join(`\r
`),s=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8"}),i=URL.createObjectURL(s),l=document.createElement("a");l.href=i,l.download=e,l.click(),URL.revokeObjectURL(i)}class iw extends Ir{constructor(){super("intern_worklog_users"),this.version(1).stores({user:"id, &username"})}}const Pr=new iw,fi="intern_worklog",Xa="dsh_session_user";function di(){try{const e=localStorage.getItem(Xa);if(!e)return null;const t=JSON.parse(e);if(t&&t.userId&&t.username)return t}catch{}return null}function of(e){localStorage.setItem(Xa,JSON.stringify(e))}function af(){localStorage.removeItem(Xa)}const Qa="dsh_cloud_creds";function lf(e,t){localStorage.setItem(Qa,JSON.stringify({username:e,password:t}))}function pi(){try{const e=localStorage.getItem(Qa);if(!e)return null;const t=JSON.parse(e);if(t&&t.username&&t.password)return t}catch{}return null}function uf(){localStorage.removeItem(Qa)}function Za(e){Dh(new Gc(fi+"_"+e))}async function aw(e,t,n){const s=e.trim();if(s.length<2||s.length>20)throw new Error("用户名需 2 到 20 个字符");if(t.length<6)throw new Error("登录密码至少 6 位");if(await Pr.user.where("username").equals(s).first())throw new Error("用户名已存在");const l=Ja(),f=await qo(t,l),p="u_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6);await Pr.user.add({id:p,username:s,pwd_hash:f,pwd_salt:l,created_at:new Date().toISOString()}),Za(p);let v=0;n&&await cf()&&(v=await dw(),await Pr.user.update(p,{legacy_imported_at:new Date().toISOString()}));const b={userId:p,username:s};return of(b),lf(b.username,t),v&&pw(v),b}async function lw(e,t){const n=e.trim(),s=await Pr.user.where("username").equals(n).first();if(!s)throw new Error("用户不存在");if(await qo(t,s.pwd_salt)!==s.pwd_hash)throw new Error("密码不正确");Za(s.id);const l={userId:s.id,username:s.username};return of(l),lf(l.username,t),l}async function uw(){zo(),Yc(),af(),uf()}async function cw(e,t){const n=di();if(!n)throw new Error("未登录");if(t.length<6)throw new Error("新密码至少 6 位");const s=await Pr.user.get(n.userId);if(!s)throw new Error("用户不存在");if(await qo(e,s.pwd_salt)!==s.pwd_hash)throw new Error("旧密码不正确");const l=Ja(),f=await qo(t,l);await Pr.user.update(s.id,{pwd_hash:f,pwd_salt:l})}async function fw(){const e=di();if(!e)throw new Error("未登录");zo(),Yc(),await Ir.delete(fi+"_"+e.userId),await Pr.user.delete(e.userId),af(),uf()}async function cf(){return Ir.exists(fi)}async function dw(){if(!ne)throw new Error("用户数据库未就绪");const e=new Gc(fi),t=await Promise.all([e.project.toArray(),e.work_log.toArray(),e.log_item.toArray(),e.attendance.toArray(),e.weekly_note.toArray(),e.setting.toArray(),e.memo.toArray(),e.credential.toArray()]);await ne.transaction("rw",[ne.project,ne.work_log,ne.log_item,ne.attendance,ne.weekly_note,ne.setting,ne.memo,ne.credential],async()=>{await Promise.all([ne.project.clear(),ne.work_log.clear(),ne.log_item.clear(),ne.attendance.clear(),ne.weekly_note.clear(),ne.setting.clear(),ne.memo.clear(),ne.credential.clear()]),t[0].length&&await ne.project.bulkAdd(t[0]),t[1].length&&await ne.work_log.bulkAdd(t[1]),t[2].length&&await ne.log_item.bulkAdd(t[2]),t[3].length&&await ne.attendance.bulkAdd(t[3]),t[4].length&&await ne.weekly_note.bulkAdd(t[4]),t[5].length&&await ne.setting.bulkAdd(t[5]),t[6].length&&await ne.memo.bulkAdd(t[6]),t[7].length&&await ne.credential.bulkAdd(t[7])});const n=t[0].length+t[1].length+t[2].length+t[3].length+t[4].length+t[6].length+t[7].length;return e.close(),n}function pw(e){try{sessionStorage.setItem("dsh_migrate_toast",String(e))}catch{}}const hw="https://daywk.linyux.cn",Sa=["project","work_log","log_item","attendance","weekly_note","setting","memo","credential","transaction"],Ea=new Set(["sync_cursor","sync_last_time","sync_token","last_project","last_category"]);function vw(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Su(e){const t={...e};return delete t.id,t}function Eu(e){return JSON.stringify(e)}async function mw(e){return ne[e].toArray()}async function yw(){for(const e of Sa){const t=ne[e],n=await t.toArray();for(const s of n){if(e==="setting"&&Ea.has(s.key))continue;const i={};s.uuid||(i.uuid=vw()),s.updated_at||(i.updated_at=s.created_at||yt()),Object.keys(i).length&&await t.update(s.id,i)}}}async function el(){return await ht("sync_base_url","")||hw}async function ff(){const e=pi();if(!e)throw new Error("未登录,无法同步");return{baseUrl:await el(),username:e.username,password:e.password}}async function gw(){return hf(await ff())}async function df(){const e=pi();if(!e)throw new Error("未登录");const t=await el(),n={"Content-Type":"application/json"},s=JSON.stringify({username:e.username,password:e.password});let i=await fetch(t+"/api/auth/register",{method:"POST",headers:n,body:s});if(i.status===409){if(i=await fetch(t+"/api/auth/login",{method:"POST",headers:n,body:s}),!i.ok)throw new Error("云端已存在同名账号且密码不一致,请检查")}else if(!i.ok)throw new Error("云端绑定失败:"+i.status)}async function bw(){return pi()!=null}async function _w(){return ht("sync_last_time","")}async function pf(e,t){const n=await fetch(e+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t.username.trim(),password:t.password})});if(!n.ok)throw new Error("云端账号或密码不正确");const s=await n.json();if(!s||!s.token)throw new Error("云端登录异常");return String(s.token)}async function ww(e,t){let n=await ht("sync_token","");return n||(n=await pf(e,t),await bt("sync_token",n),n)}let Ss=!1,Ao=!1,$a=!1,Gr=null,_n=null,Aa="",$u=!1;async function Yr(){if(Ss){Ao=!0;return}try{if(!await bw())return;await hf(await ff())}catch{}}function kw(){$u||($u=!0,ne.on("changes",()=>{$a||Ss||(Gr&&window.clearTimeout(Gr),Gr=window.setTimeout(()=>{Yr()},3e3))}))}function xw(){_n&&(_n.close(),_n=null,Aa=""),Gr&&(window.clearTimeout(Gr),Gr=null)}function Cw(e,t){const n=e+"|"+t;if(!(_n&&Aa===n)){_n&&(_n.close(),_n=null);try{_n=new EventSource(e+"/api/events?token="+encodeURIComponent(t)),Aa=n,_n.onmessage=()=>{Yr()}}catch{_n=null}}}async function hf(e){if(Ss)return Ao=!0,{pushed:0,pulled:0,removed:0,at:""};Ss=!0,$a=!0;try{const t=await Sw(e);return Ao&&(Ao=!1,window.setTimeout(()=>{Yr()},800)),t}finally{Ss=!1,$a=!1}}async function Sw(e){const t=e.baseUrl.trim().replace(/\/+$/,"");if(!t)throw new Error("请先配置同步服务地址");await yw();const n=await ne.sync_mirror.toArray(),s=new Map;for(const ee of n)s.set(ee.table+"|"+ee.uuid,ee);const i={},l=[];let f=0;for(const ee of Sa){let E=await mw(ee);ee==="setting"&&(E=E.filter(Y=>!Ea.has(Y.key)));const j=new Map;for(const Y of E)j.set(Y.uuid,Y);for(const[Y,ae]of j){const ie=Su(ae),oe=Eu(ie),R=s.get(ee+"|"+Y);(!R||R.hash!==oe)&&(i[ee]=i[ee]||[],i[ee].push(ie),f++)}for(const[Y,ae]of s)Y.startsWith(ee+"|")&&!j.has(ae.uuid)&&l.push({table:ee,uuid:ae.uuid,deleted_at:yt()});i[ee]=i[ee]||[]}const p=await ww(t,e),v=ee=>fetch(t+"/api/sync",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+ee},body:JSON.stringify({device:"client",tables:i,tombstones:l})});let b=await v(p);if(b.status===401){await bt("sync_token","");const ee=await pf(t,e);await bt("sync_token",ee),b=await v(ee)}if(!b.ok)throw new Error("同步服务返回 "+b.status);const y=await b.json(),k=y.tables||{},I=y.tombstones||[];let D=0,N=0;const G=[];for(const ee of Sa){const E=ne[ee],j=await E.toArray(),Y=new Map;for(const $ of j)Y.set($.uuid,$);const ae=k[ee]||[],ie=new Map;for(const $ of ae)ie.set($.uuid,$);const oe=new Set(I.filter($=>$.table===ee).map($=>$.uuid));for(const[$,le]of Y)oe.has($)&&(await E.delete(le.id),N++);for(const[$,le]of ae){if(oe.has($))continue;const Ee=Y.get($);if(!Ee)await E.add({...le}),D++;else{const J=String(Ee.updated_at||"");String(le.updated_at||"")>J&&(await E.update(Ee.id,{...le}),D++)}}const R=await E.toArray();for(const $ of R)ee==="setting"&&Ea.has($.key)||G.push({table:ee,uuid:$.uuid,hash:Eu(Su($))})}await ne.sync_mirror.clear(),G.length&&await ne.sync_mirror.bulkAdd(G.map(ee=>({...ee}))),Cw(t,p);const fe=yt();return await bt("sync_last_time",fe),{pushed:f,pulled:D,removed:N,at:fe}}const Ew={class:"settings"},$w={class:"card section"},Aw={class:"muted acc-line"},Tw={class:"ai-grid"},Ow={class:"rule-item"},Pw={class:"rule-item"},Mw={class:"rule-item"},Iw={key:0,class:"form-error"},Dw={class:"rule-save"},jw={class:"card section"},Kw={class:"rule-grid"},Rw={class:"rule-item"},Nw={class:"rule-item"},Lw={class:"rule-item"},Vw={class:"rule-item"},Fw={class:"rule-item"},Bw={class:"card section"},Uw={class:"proj-add"},qw={key:0,class:"muted proj-tip"},Hw=["onKeydown"],Ww=["onClick"],zw=["onClick"],Gw=["onClick"],Yw={key:1,class:"muted"},Jw={class:"card section"},Xw={class:"card section"},Qw={class:"muted acc-line"},Zw={class:"rule-item"},e1={class:"rule-save"},t1=["disabled"],n1={key:0,class:"muted acc-line"},r1={key:1,class:"form-error"},s1={class:"card section"},o1={class:"ai-grid"},i1={class:"rule-item"},a1={class:"rule-item"},l1={class:"rule-item"},u1={class:"card section"},c1={class:"backup-row"},f1={key:0,class:"import-error"},d1=Ft({__name:"SettingsView",setup(e){var Bt;const t=L({work_start:"09:00",work_end:"18:00",grace_minutes:10,lunch_minutes:60,remind_weekly:"friday"}),n=L([]),s=L(""),i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L(null),y=L(""),k=L(null),I=L(null),D=L(""),N=L(((Bt=di())==null?void 0:Bt.username)||""),G=L(""),fe=L(""),ee=L(""),E=L(""),j=L(!1),Y=L(""),ae=L(""),ie=L(""),oe=L(""),R=L(!1),$=L("");async function le(){var de;Y.value=await el(),ae.value=((de=pi())==null?void 0:de.username)||"",$.value=await _w()}async function Ee(){await bt("sync_base_url",Y.value.trim()),ze("同步地址已保存")}async function J(){oe.value="";try{await df(),ze("云端绑定已重建")}catch(de){oe.value=de instanceof Error?de.message:"绑定失败"}}async function xe(){if(!R.value){oe.value="",R.value=!0;try{await Ee();const de=await gw();$.value=de.at,ie.value="推送 "+de.pushed+" 条 · 拉取 "+de.pulled+" 条 · 删除 "+de.removed+" 条",ze("同步完成")}catch(de){oe.value=de instanceof Error?de.message:"同步失败"}R.value=!1}}async function Fe(){if(E.value="",fe.value!==ee.value){E.value="两次输入的新密码不一致";return}try{await cw(G.value,fe.value),G.value="",fe.value="",ee.value="",ze("登录密码已修改")}catch(de){E.value=de instanceof Error?de.message:"修改失败"}}async function tt(){await fw(),window.location.reload()}async function Be(){t.value=await Dr(),n.value=await Ks(!0),l.value=(await Ga()).join(`
`),f.value=await ht("ai_base_url",""),p.value=await ht("ai_api_key",""),v.value=await ht("ai_model",""),await le()}async function Ge(){await bt("ai_base_url",f.value.trim()),await bt("ai_api_key",p.value.trim()),await bt("ai_model",v.value.trim()),ze("AI 配置已保存")}async function _e(){const de=_t(),m=await Promise.all([ui("2000-01-01",de),Ks(!0)]),w=m[0],H=m[1],ue=new Map(H.map(Z=>[Z.id,Z.name])),se=[["日期","分类","项目","内容","耗时(分钟)","成果","待跟进","收获","备注"]];for(const Z of w)se.push([Z.date,za(Z.category),Z.project_id&&ue.get(Z.project_id)||"",Z.content,Z.minutes==null?"":Z.minutes,Z.is_milestone?"是":"",Z.needs_followup?"是":"",Z.takeaway||"",Z.remark||""]);Cu("工作记录_"+de.replace(/-/g,"")+".csv",se),ze("工作记录 CSV 已导出")}async function je(){const de=_t(),m=await Promise.all([Dr(),li("2000-01-01",de)]),w=m[0],H=m[1],ue=["周日","周一","周二","周三","周四","周五","周六"],se=[["日期","星期","状态","上班时间","下班时间","地点","类型","说明"]];for(const Z of H){const we=Bs(Z,Z.date,w,Z.date===de);se.push([Z.date,ue[ts(Z.date).getDay()],we.label,Z.clock_in_at?Fn(Z.clock_in_at):"",Z.clock_out_at?Fn(Z.clock_out_at):"",Z.location||"",Z.kind==="makeup"?"补卡":Z.kind==="leave"?"休假":"正常",Z.note||""])}Cu("考勤记录_"+de.replace(/-/g,"")+".csv",se),ze("考勤 CSV 已导出")}fn(Be);async function et(){await bt("work_start",t.value.work_start),await bt("work_end",t.value.work_end),await bt("grace_minutes",String(t.value.grace_minutes)),await bt("lunch_minutes",String(t.value.lunch_minutes)),await bt("remind_weekly",t.value.remind_weekly),ze("打卡规则已保存")}async function ge(){await Xc(l.value.split(`
`)),ze("常用地点已保存")}async function Q(){const de=s.value.trim();if(de){try{await iv(de),i.value="",s.value=""}catch{i.value="项目名已存在"}await Be()}}function X(de){b.value=de.id,y.value=de.name}async function Ce(de){const m=y.value.trim();if(m)try{await av(de.id,m),i.value=""}catch{i.value="项目名已存在"}b.value=null,await Be()}async function At(de){await lv(de.id,de.archived!==1),await Be()}async function Ct(){const de=await Mv();ef("实习日志备份_"+_t().replace(/-/g,"")+".json",de)}function Et(de){const m=de.target,w=m.files&&m.files[0];if(D.value="",!w)return;const H=w.name;w.text().then(ue=>{I.value={name:H,text:ue}}),m.value=""}async function Jt(){if(I.value)try{await Iv(I.value.text),I.value=null,D.value="",await Be(),ze("数据导入完成")}catch(de){I.value=null,D.value=de instanceof Error?de.message:"导入失败"}}return(de,m)=>(K(),U("div",Ew,[u("div",$w,[m[23]||(m[23]=u("div",{class:"section-title"},"账号与隐私",-1)),u("div",Aw,"当前用户:"+re(N.value)+" · 每位用户独立数据库隔离存储于本机 · 登录密码仅保存 PBKDF2 哈希",1),u("div",Tw,[u("div",Ow,[m[20]||(m[20]=u("label",null,"旧登录密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[0]||(m[0]=w=>G.value=w)},null,512),[[De,G.value]])]),u("div",Pw,[m[21]||(m[21]=u("label",null,"新登录密码(至少 6 位)",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[1]||(m[1]=w=>fe.value=w)},null,512),[[De,fe.value]])]),u("div",Mw,[m[22]||(m[22]=u("label",null,"确认新登录密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[2]||(m[2]=w=>ee.value=w)},null,512),[[De,ee.value]])])]),E.value?(K(),U("div",Iw,re(E.value),1)):$e("",!0),u("div",Dw,[u("button",{class:"btn btn-primary btn-sm",onClick:Fe},"修改登录密码"),u("button",{class:"btn btn-sm btn-danger",onClick:m[3]||(m[3]=w=>j.value=!0)},"删除此用户及全部数据")])]),u("div",jw,[m[30]||(m[30]=u("div",{class:"section-title"},"打卡规则",-1)),u("div",Kw,[u("div",Rw,[m[24]||(m[24]=u("label",null,"上班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":m[4]||(m[4]=w=>t.value.work_start=w)},null,512),[[De,t.value.work_start]])]),u("div",Nw,[m[25]||(m[25]=u("label",null,"下班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":m[5]||(m[5]=w=>t.value.work_end=w)},null,512),[[De,t.value.work_end]])]),u("div",Lw,[m[26]||(m[26]=u("label",null,"迟到宽限(分钟)",-1)),Ae(u("input",{type:"number",class:"input",min:"0","onUpdate:modelValue":m[6]||(m[6]=w=>t.value.grace_minutes=w)},null,512),[[De,t.value.grace_minutes,void 0,{number:!0}]])]),u("div",Vw,[m[27]||(m[27]=u("label",null,"午休扣除(分钟)",-1)),Ae(u("input",{type:"number",class:"input",min:"0","onUpdate:modelValue":m[7]||(m[7]=w=>t.value.lunch_minutes=w)},null,512),[[De,t.value.lunch_minutes,void 0,{number:!0}]])]),u("div",Fw,[m[29]||(m[29]=u("label",null,"周记提醒",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":m[8]||(m[8]=w=>t.value.remind_weekly=w)},[...m[28]||(m[28]=[u("option",{value:"friday"},"每周五提醒",-1),u("option",{value:"off"},"关闭",-1)])],512),[[Ln,t.value.remind_weekly]])])]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:et},"保存规则")])]),u("div",Bw,[m[31]||(m[31]=u("div",{class:"section-title"},"项目管理",-1)),u("div",Uw,[Ae(u("input",{class:"input","onUpdate:modelValue":m[9]||(m[9]=w=>s.value=w),placeholder:"新项目名称",onKeydown:Dt(Q,["enter"])},null,544),[[De,s.value]]),u("button",{class:"btn btn-sm",onClick:Q},"添加")]),i.value?(K(),U("div",qw,re(i.value),1)):$e("",!0),(K(!0),U(Ke,null,lt(n.value,w=>(K(),U("div",{key:w.id,class:"proj-row"},[b.value===w.id?(K(),U(Ke,{key:0},[Ae(u("input",{class:"input","onUpdate:modelValue":m[10]||(m[10]=H=>y.value=H),onKeydown:Dt(H=>Ce(w),["enter"])},null,40,Hw),[[De,y.value]]),u("button",{class:"btn btn-sm",onClick:H=>Ce(w)},"保存",8,Ww),u("button",{class:"btn btn-sm",onClick:m[11]||(m[11]=H=>b.value=null)},"取消")],64)):(K(),U(Ke,{key:1},[u("span",{class:Qe(["proj-name",{archived:w.archived===1}])},re(w.name),3),u("button",{class:"icon-btn",title:"重命名",onClick:H=>X(w)},[Me(at,{name:"edit",size:14})],8,zw),u("button",{class:"btn btn-sm",onClick:H=>At(w)},re(w.archived===1?"恢复":"归档"),9,Gw)],64))]))),128)),n.value.length?$e("",!0):(K(),U("div",Yw,"暂无项目,先添加一个"))]),u("div",Jw,[m[33]||(m[33]=u("div",{class:"section-title"},"常用地点",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":m[12]||(m[12]=w=>l.value=w),placeholder:"每行一个地点,如:公司、客户现场、出差、居家办公"},null,512),[[De,l.value]]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:ge},"保存地点"),m[32]||(m[32]=u("span",{class:"muted loc-note"},"打卡时可直接输入新地点,保存后自动加入列表",-1))])]),u("div",Xw,[m[35]||(m[35]=u("div",{class:"section-title"},"多端数据同步",-1)),u("div",Qw,"云端账号:"+re(ae.value||"未绑定")+" · 登录即自动绑定并同步(变更实时推送 + 每 5 分钟兜底);密码库以密文同步,主密码永不出本机",1),u("div",Zw,[m[34]||(m[34]=u("label",null,"同步服务地址(默认即可)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[13]||(m[13]=w=>Y.value=w),placeholder:"https://daywk.linyux.cn"},null,512),[[De,Y.value]])]),u("div",e1,[u("button",{class:"btn btn-sm",onClick:Ee},"保存地址"),u("button",{class:"btn btn-primary btn-sm",disabled:R.value,onClick:xe},re(R.value?"同步中":"立即同步"),9,t1),u("button",{class:"btn btn-sm",onClick:J},"重建云端绑定")]),ie.value?(K(),U("div",n1,"上次同步:"+re($.value||"--")+" · "+re(ie.value),1)):$e("",!0),oe.value?(K(),U("div",r1,re(oe.value),1)):$e("",!0)]),u("div",s1,[m[40]||(m[40]=u("div",{class:"section-title"},"AI 润色配置(可选)",-1)),u("div",o1,[u("div",i1,[m[36]||(m[36]=u("label",null,"接口地址(OpenAI 兼容,到 /v1 为止)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[14]||(m[14]=w=>f.value=w),placeholder:"https://api.example.com/v1"},null,512),[[De,f.value]])]),u("div",a1,[m[37]||(m[37]=u("label",null,"API Key",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[15]||(m[15]=w=>p.value=w),placeholder:"sk-..."},null,512),[[De,p.value]])]),u("div",l1,[m[38]||(m[38]=u("label",null,"模型名称",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[16]||(m[16]=w=>v.value=w),placeholder:"如:deepseek-chat"},null,512),[[De,v.value]])])]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:Ge},"保存 AI 配置"),m[39]||(m[39]=u("span",{class:"muted loc-note"},"配置仅保存在本机浏览器;总结页可用 AI 润色草稿,需服务端允许浏览器跨域",-1))])]),u("div",u1,[m[41]||(m[41]=u("div",{class:"section-title"},"数据备份",-1)),u("div",c1,[u("button",{class:"btn btn-sm",onClick:Ct},"导出 JSON 备份"),u("button",{class:"btn btn-sm",onClick:m[17]||(m[17]=w=>{var H;return(H=k.value)==null?void 0:H.click()})},"导入 JSON 备份"),u("button",{class:"btn btn-sm",onClick:_e},"导出工作记录 CSV"),u("button",{class:"btn btn-sm",onClick:je},"导出考勤 CSV"),u("input",{ref_key:"fileInput",ref:k,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:Et},null,544)]),D.value?(K(),U("div",f1,re(D.value),1)):$e("",!0),m[42]||(m[42]=u("div",{class:"muted backup-note"},"数据保存在浏览器 IndexedDB 中,建议定期导出 JSON 备份。",-1))]),Me(ur,{open:!!I.value,title:"导入确认",message:I.value?"将从文件「"+I.value.name+"」导入备份。现有全部数据将被覆盖,且不可恢复,请先确认已导出当前备份。":"","confirm-text":"覆盖导入",danger:"",onCancel:m[18]||(m[18]=w=>I.value=null),onConfirm:Jt},null,8,["open","message"]),Me(ur,{open:j.value,title:"删除用户确认",message:"将永久删除用户「"+N.value+"」及其全部数据:工作日志、考勤、备忘录、账号密码库都将被清除,且不可恢复。请确认。","confirm-text":"永久删除",danger:"",onCancel:m[19]||(m[19]=w=>j.value=!1),onConfirm:tt},null,8,["open","message"])]))}}),p1=Yt(d1,[["__scopeId","data-v-79d0f2e9"]]),h1={class:"login-page"},v1={class:"card login-card"},m1={class:"login-brand"},y1={class:"brand-icon"},g1={class:"seg"},b1=["placeholder"],_1={key:1,class:"mig-row"},w1={key:2,class:"form-error"},k1=["disabled"],x1=Ft({__name:"LoginView",emits:["login"],setup(e,{emit:t}){const n=t,s=L("login"),i=L(""),l=L(""),f=L(""),p=L(!0),v=L(!1),b=L(""),y=L(!1);fn(async()=>{v.value=await cf()});function k(D){s.value=D,b.value="",f.value=""}async function I(){if(!y.value){b.value="",y.value=!0;try{let D;if(s.value==="login")D=await lw(i.value,l.value);else{if(l.value.length<6){b.value="登录密码至少 6 位",y.value=!1;return}if(l.value!==f.value){b.value="两次输入的密码不一致",y.value=!1;return}D=await aw(i.value,l.value,p.value)}n("login",D)}catch(D){b.value=D instanceof Error?D.message:"操作失败"}y.value=!1}}return(D,N)=>(K(),U("div",h1,[u("div",v1,[u("div",m1,[u("div",y1,[Me(at,{name:"calendar",size:22})]),N[6]||(N[6]=u("div",{class:"login-title"},"实习工作日志",-1)),N[7]||(N[7]=u("div",{class:"muted login-sub"},"打卡 · 记录 · 总结 · 备忘录 · 密码库",-1)),N[8]||(N[8]=u("div",{class:"muted login-sub"},"每位用户独立数据库,数据彼此隔离并保存在本机",-1))]),u("div",g1,[u("button",{class:Qe(["seg-btn",{active:s.value==="login"}]),onClick:N[0]||(N[0]=G=>k("login"))},"登录",2),u("button",{class:Qe(["seg-btn",{active:s.value==="create"}]),onClick:N[1]||(N[1]=G=>k("create"))},"创建用户",2)]),Ae(u("input",{class:"input","onUpdate:modelValue":N[2]||(N[2]=G=>i.value=G),placeholder:"用户名(2 到 20 个字符)",onKeydown:Dt(I,["enter"])},null,544),[[De,i.value]]),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":N[3]||(N[3]=G=>l.value=G),placeholder:s.value==="login"?"登录密码":"设置登录密码(至少 6 位)",onKeydown:Dt(I,["enter"])},null,40,b1),[[De,l.value]]),s.value==="create"?Ae((K(),U("input",{key:0,type:"password",class:"input","onUpdate:modelValue":N[4]||(N[4]=G=>f.value=G),placeholder:"再次输入密码",onKeydown:Dt(I,["enter"])},null,544)),[[De,f.value]]):$e("",!0),s.value==="create"&&v.value?(K(),U("label",_1,[Ae(u("input",{type:"checkbox","onUpdate:modelValue":N[5]||(N[5]=G=>p.value=G)},null,512),[[vh,p.value]]),N[9]||(N[9]=u("span",null,"导入本机原有工作日志数据到此用户(原数据保留不删除)",-1))])):$e("",!0),b.value?(K(),U("div",w1,re(b.value),1)):$e("",!0),u("button",{class:"btn btn-primary login-btn",disabled:y.value,onClick:I},re(s.value==="login"?"登录":"创建并进入"),9,k1),N[10]||(N[10]=u("div",{class:"muted login-note"}," 登录后自动开启云端同步(密码会保存在本机用于云同步);系统只保存密码哈希,忘记密码将无法访问该用户数据 ",-1))])]))}}),C1=Yt(x1,[["__scopeId","data-v-d3d6c8cb"]]),S1={key:1,class:"app"},E1={class:"side"},$1=["data-tip","onClick"],A1={class:"main"},T1={class:"topbar"},O1={class:"title"},P1={class:"gsearch"},M1={key:0,class:"gs-panel"},I1={key:0,class:"gs-group muted"},D1=["onMousedown"],j1={class:"tag"},K1={class:"gs-text"},R1={class:"muted num gs-date"},N1={key:1,class:"gs-group muted"},L1=["onMousedown"],V1={class:"gs-text"},F1={class:"muted gs-sub"},B1={key:1,class:"gs-empty muted"},U1={class:"user-chip num"},q1=["disabled"],H1={class:"num"},W1={class:"content"},z1={class:"content-inner"},G1={class:"toast-wrap"},Y1=Ft({__name:"App",setup(e){const t=jv(),n=L(di());async function s(_e){n.value=_e,location.hash="#/calendar",ae.value="calendar",await Ee(),await Ge(),f();try{await df(),await Yr()}catch{}showToast("欢迎,"+_e.username);const je=sessionStorage.getItem("dsh_migrate_toast");je&&(sessionStorage.removeItem("dsh_migrate_toast"),showToast("已迁移原有数据 "+je+" 条"))}async function i(){xw(),l!==null&&(window.clearInterval(l),l=null),await uw(),n.value=null,ae.value="calendar",location.hash="#/calendar",showToast("已退出登录")}let l=null;function f(){kw(),l!==null&&window.clearInterval(l),l=window.setInterval(()=>{Yr()},60*1e3),Yr()}const p=L(null),v=L(""),b=L(!1),y=L({logs:[],memos:[]});let k=null;const I=ot(()=>!!(y.value.logs.length||y.value.memos.length));function D(){k&&window.clearTimeout(k);const _e=v.value;k=window.setTimeout(async()=>{const je=_e.trim();if(!je){y.value={logs:[],memos:[]};return}const et=await Promise.all([Sv(je,8),Ev(je,4)]);y.value={logs:et[0],memos:et[1]}},200)}function N(){v.value="",y.value={logs:[],memos:[]},b.value=!1}function G(_e){ka.value=_e.date,ie("calendar"),N()}function fe(_e){xa.value=_e.id,ie("memo"),N()}function ee(){window.setTimeout(()=>{b.value=!1},150)}function E(_e){var je;(_e.ctrlKey||_e.metaKey)&&_e.key.toLowerCase()==="k"&&(_e.preventDefault(),(je=p.value)==null||je.focus())}const j=[{key:"calendar",name:"日历",icon:"calendar"},{key:"today",name:"详情",icon:"edit"},{key:"stats",name:"统计",icon:"chart"},{key:"report",name:"总结",icon:"export"},{key:"ledger",name:"记账",icon:"wallet"},{key:"memo",name:"备忘录",icon:"memo"},{key:"vault",name:"密码库",icon:"lock"},{key:"settings",name:"设置",icon:"settings"}];function Y(){const _e=(location.hash||"").replace("#/","");return j.some(je=>je.key===_e)?_e:"calendar"}const ae=L(Y());window.addEventListener("hashchange",()=>{ae.value=Y()});function ie(_e){location.hash="#/"+_e}const oe=ot(()=>j.find(_e=>_e.key===ae.value)||j[0]),R=L(_t()),$=L(void 0),le=L(!1);async function Ee(){if($.value=await mn(R.value),le.value=!1,new Date().getHours()<4){const je=await mn(Nn(R.value,-1));le.value=!!(je&&je.clock_in_at&&!je.clock_out_at)}}const J=ot(()=>{const _e=$.value;return _e&&_e.clock_in_at&&!_e.clock_out_at?!0:le.value&&!(_e&&_e.clock_in_at)}),xe=ot(()=>{const _e=$.value;return!!(_e&&_e.clock_in_at&&_e.clock_out_at)}),Fe=ot(()=>{const _e=$.value;return J.value?"下班打卡":xe.value?"已打卡 "+Fn(_e==null?void 0:_e.clock_in_at)+" - "+Fn(_e==null?void 0:_e.clock_out_at):"上班打卡"});async function tt(){if(J.value)try{await cv()}catch{}else await Qc(R.value);await Ee(),Sr()}vt(Us,()=>{n.value&&Ee()});const Be=L(!1);async function Ge(){if((await Dr()).remind_weekly==="off"){Be.value=!1;return}const je=new Date().getDay();if(je===5||je===6||je===0){const et=await Ya(Cs(R.value));Be.value=!et||!et.highlights&&!et.challenges&&!et.plan_next}else Be.value=!1}return fn(async()=>{window.addEventListener("keydown",E),n.value&&(Za(n.value.userId),await Ee(),await Ge(),f())}),(_e,je)=>{var et;return n.value?(K(),U("div",S1,[u("nav",E1,[(K(),U(Ke,null,lt(j,ge=>u("button",{key:ge.key,class:Qe(["nav-btn",{active:ae.value===ge.key}]),"data-tip":ge.name,onClick:Q=>ie(ge.key)},[Me(at,{name:ge.icon,size:18},null,8,["name"])],10,$1)),64))]),u("div",A1,[u("header",T1,[u("span",O1,re(oe.value.name),1),u("div",P1,[Me(at,{name:"search",size:14,class:"gs-icon"}),Ae(u("input",{ref_key:"gsInput",ref:p,class:"input gs-input","onUpdate:modelValue":je[0]||(je[0]=ge=>v.value=ge),placeholder:"搜索工作记录与备忘录(Ctrl+K)",onInput:D,onFocus:je[1]||(je[1]=ge=>b.value=!0),onBlur:ee,onKeydown:Dt(N,["esc"])},null,544),[[De,v.value]]),b.value&&v.value.trim()?(K(),U("div",M1,[I.value?(K(),U(Ke,{key:0},[y.value.logs.length?(K(),U("div",I1,"工作记录")):$e("",!0),(K(!0),U(Ke,null,lt(y.value.logs,ge=>(K(),U("div",{key:"l"+ge.id,class:"gs-item",onMousedown:Mr(Q=>G(ge),["prevent"])},[u("span",j1,re(nn(za)(ge.category)),1),u("span",K1,re(ge.content),1),u("span",R1,re(ge.date),1)],40,D1))),128)),y.value.memos.length?(K(),U("div",N1,"备忘录")):$e("",!0),(K(!0),U(Ke,null,lt(y.value.memos,ge=>(K(),U("div",{key:"m"+ge.id,class:"gs-item",onMousedown:Mr(Q=>fe(ge),["prevent"])},[u("span",V1,re(ge.title||"无标题"),1),u("span",F1,re(ge.content),1)],40,L1))),128))],64)):(K(),U("div",B1,"无匹配结果"))])):$e("",!0)]),je[4]||(je[4]=u("span",{class:"flex1"},null,-1)),Be.value?(K(),U("button",{key:0,class:"week-tip",onClick:je[2]||(je[2]=ge=>ie("report"))},[...je[3]||(je[3]=[u("span",{class:"dot",style:{background:"var(--warn)"}},null,-1),tn(" 填写本周周记 ",-1)])])):$e("",!0),u("span",U1,re((et=n.value)==null?void 0:et.username),1),u("button",{class:"btn btn-sm",onClick:i},"退出"),u("button",{class:"btn btn-primary btn-sm",disabled:xe.value,onClick:tt},[Me(at,{name:xe.value?"check-circle":"clock",size:14},null,8,["name"]),u("span",H1,re(Fe.value),1)],8,q1)]),u("main",W1,[u("div",z1,[ae.value==="calendar"?(K(),It(sy,{key:0})):ae.value==="today"?(K(),It(cy,{key:1})):ae.value==="stats"?(K(),It(Fy,{key:2})):ae.value==="report"?(K(),It(Eg,{key:3})):ae.value==="ledger"?(K(),It(jb,{key:4})):ae.value==="memo"?(K(),It(Zb,{key:5})):ae.value==="vault"?(K(),It(sw,{key:6})):(K(),It(p1,{key:7}))])])]),u("div",G1,[Me(ih,{name:"toast"},{default:fr(()=>[(K(!0),U(Ke,null,lt(nn(t),ge=>(K(),U("div",{key:ge.id,class:"toast"},re(ge.text),1))),128))]),_:1})])])):(K(),It(C1,{key:0,onLogin:s}))}}}),J1=Yt(Y1,[["__scopeId","data-v-219a8436"]]);kh(J1).mount("#app");"serviceWorker"in navigator&&location.protocol.startsWith("http")&&window.addEventListener("load",()=>{navigator.serviceWorker.register("sw.js").catch(()=>{})});