sumor 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,44 +1,138 @@
1
- # SUMOR Cloud Application
1
+ # sumor
2
+ Sumor Command Line Tool.
2
3
 
3
- SUMOR is a powerful npm package for running, deploying and viewing logs of applications. It simplifies the process of managing your applications by providing easy-to-use commands.
4
+ [![NPM version](https://img.shields.io/npm/v/sumor.svg)](https://www.npmjs.com/package/sumor)
5
+ [![NPM downloads](https://img.shields.io/npm/dm/sumor.svg)](https://www.npmjs.com/package/sumor)
4
6
 
5
- [Offical Site](https://www.sumor.com)
7
+ # Sumor Command Line Tool
6
8
 
7
- # Other Languages
8
- [中文版](https://www.sumor.com/help/starter/app.html)
9
+ A [Sumor Cloud](https://www.sumor.com) Tool.
10
+ [More Documentation](https://www.sumor.com/help)
9
11
 
10
- # Installation
11
- You can install sumor using npm. Run the following command in your terminal:
12
+ ## Installation
12
13
 
13
14
  ```shell
14
- npm install sumor -g
15
+ npm install -D sumor
15
16
  ```
16
17
 
17
- # Usage
18
- Once you've installed sumor, you can use the following commands:
18
+ Now, you can use the `sumor` command to use the builder tool.
19
19
 
20
- ## Run Application
21
- The sumor run command is used to run your application. Simply navigate to your application's directory and run the command:
20
+ ## Usage
21
+
22
+ ### Initialization
23
+
24
+ Quickly initialize the project, generate sample programs and test cases, as well as build configuration files.
25
+
26
+ ```shell
27
+ sumor init
28
+ ```
29
+
30
+ ### Code Checking
31
+
32
+ It will check the code style and code format. and it will generate a report into `output/lint` folder.
22
33
 
23
34
  ```shell
24
- cd path/to/your/application
25
- sumor run
35
+ sumor lint
26
36
  ```
27
37
 
28
- This will start your application and keep it running in the terminal window.
38
+ ##### Automatically fix code style and code format issues
29
39
 
30
- ## Deploy Application
31
- The sumor deploy command is used to deploy your application to a remote server. You can specify the server to deploy to in the command:
40
+ ```shell
41
+ sumor lint --fix
42
+ ```
43
+
44
+ ### Unit Testing
45
+
46
+ It will run the unit test cases which are under `test` folder and suffix with `.test.js`.
47
+ Then generate an unit test report into `output/unit` folder. A coverage report into `output/coverage` folder.
32
48
 
33
49
  ```shell
34
- sumor deploy
50
+ sumor test
35
51
  ```
36
52
 
37
- ## Show Application Log
38
- The sumor log command is used to view the logs of your application. This command will display the logs in real-time, so you can see what's happening with your application:
53
+ ### Packaging
54
+
55
+ Aim to package the library into a single file, and prepare files for publishing to NPM.
56
+ It will copy `static` folder into output folder.
57
+ It will package the library into output folder. By default, package entry is `src/index.js`.
58
+ output folder is `output/production`.
59
+
39
60
  ```shell
40
- sumor log
61
+ sumor build
41
62
  ```
42
63
 
43
- # License
44
- Under MIT License.
64
+ ##### packaging for debugging
65
+
66
+ output folder is `output/development`.
67
+
68
+ ```shell
69
+ sumor build --mode=development
70
+ ```
71
+
72
+ ##### README Generation
73
+ As NPM library should have name and description in package.json. And README file should have the same content as package.json.
74
+ It will automatically generate full README.md file into output folder.
75
+
76
+ You need to specify the name and description in package.json.
77
+ Then specify the document into `README.md`.
78
+ And License info into `LICENSE.md`, if no license file, it will load from package.json.
79
+
80
+
81
+ ### License Report
82
+
83
+ It will generate a license report into `output/license.md`.
84
+
85
+ ```shell
86
+ sumor license
87
+ ```
88
+
89
+ ### Publish
90
+
91
+ Publish the library to the public repository
92
+
93
+ ```shell
94
+ sumor publish <version>
95
+ ```
96
+
97
+ Publish the beta version
98
+
99
+ ```shell
100
+ sumor publish <version> -b
101
+ ```
102
+
103
+ Publish the library to the private repository
104
+
105
+ ```shell
106
+ sumor publish <version> -r <registry> -u <username> -p <password>
107
+ ```
108
+
109
+ ### Clean
110
+
111
+ Clean the dependencies, in case of some dependencies expired.
112
+
113
+ ```shell
114
+ sumor clean
115
+ ```
116
+
117
+ ##### --scope
118
+
119
+ Specify scope which will be cleaned, example: @sumor-cloud
120
+
121
+ ```shell
122
+ sumor clean --scope @sumor-cloud
123
+ ```
124
+
125
+ ## Contributing & Issues
126
+
127
+ You can use this tool for free.
128
+ But we are a commercial company, to ensure stability, we currently don't offer a joint contribution mechanism.
129
+ You can report issues through [Report Library Issue Ticket](https://www.sumor.com/ticket/library), and we will fix them as soon as possible.
130
+
131
+ ## License
132
+
133
+ In consideration of the chaotic situation in the open source community, we provide obfuscated code for use and security analysis.
134
+ However, we do not provide the source code in its original form in order to protect the ongoing maintenance and creative interests and motivations.
135
+ The released code in [NPMJS](https://www.npmjs.com) is based on MIT. The source code is closed-source.
136
+
137
+ Our tools are free to use in order to help build cloud applications more efficiently. Our commercial purpose is to improve the ecosystem of business websites.
138
+ If there are any innovations that greatly benefit the open source community, it will be separated and contributed to the open source community.
package/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- require("./index.js").cli();
2
+ require('./index.js').cli();
package/index.js CHANGED
@@ -1,2 +1 @@
1
- global.globalRequire = (path)=>{return require(path);};/*! For license information please see index.js.LICENSE.txt */
2
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,(()=>(()=>{var e={525:e=>{e.exports=__dirname},167:e=>{"use strict";e.exports=require("axios")},147:e=>{"use strict";e.exports=require("fs")}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>Lt});const e=require("express");var t=n.n(e);const s=require("uuid");var a=n.n(s);const o=()=>a().v4().replace(/-/g,""),i=require("stream");var c=n.n(i);const l=e=>{let t,n=e;return"string"==typeof e?t=Buffer.from(e):Buffer.isBuffer(e)&&(t=e),t&&(n=new(c().PassThrough),n.end(t)),n};function u(e){return new Promise(((t,n)=>{let r=[];e.on("error",n),e.on("data",(e=>r.push(e))),e.on("end",(()=>t(Buffer.concat(r))))}))}const m=async(e,t)=>{if(e){let n,r;switch(t=t||"stream"){case"string":r=await u(e),n=r.toString();break;case"buffer":n=await u(e);break;default:n=e}return n}return e},p={delay:async e=>new Promise((t=>{setTimeout((()=>{t()}),1e3*e)})),uuid:o,stream:{from:m,to:l},number:{from10to36:e=>{const t="0123456789abcdefghigklmnopqrstuvwxyz".split(""),n=t.length;let r=+e;const s=[];do{let e=r%n;r=(r-e)/n,s.unshift(t[e])}while(r);return s.join("")},from10to62:e=>{const t="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ".split(""),n=t.length;let r=+e;const s=[];do{let e=r%n;r=(r-e)/n,s.unshift(t[e])}while(r);return s.join("")},from62to10:e=>{const t="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ",n=t.length;let r=(e=String(e)).length,s=0,a=0;for(;s<r;)a+=Math.pow(n,s++)*t.indexOf(e.charAt(r-s)||0);return a},from36to10:e=>{const t="0123456789abcdefghigklmnopqrstuvwxyz",n=t.length;let r=(e=String(e)).length,s=0,a=0;for(;s<r;)a+=Math.pow(n,s++)*t.indexOf(e.charAt(r-s)||0);return a}}},d=require("fs-extra");var g=n.n(d);const h=(e,t)=>(n,r,s)=>{let a,o;if(r=r||{},""!==(s=s||t)){const e=s.split("-");a=e[0],o=e[1]}if(n){const t=n.split("."),i=t.pop(),c=t.join(".");let l;return e[c]&&(o&&(l=(e[c][s]||{})[i]),!l&&a&&(l=(e[c][a]||{})[i]),l||(l=(e[c][""]||{})[i])),((e,t)=>{t=t||{};const n=(e=e||"").match(new RegExp(/\${.*?}/,"g"));if(n)for(let r of n){const n=t[r.substr(2,r.length-3)]||"";e=e.replace(r,n)}return e})(l,r)}{const t={};for(let n in e){const r=e[n][""]||{};let i={},c={};a&&(i=e[n][a]||{}),o&&(c=e[n][s]||{});const l=Object.assign({},r,i,c);for(let e in l)t[`${n}.${e}`]=l[e]}return t}},w=require("chalk");var f=n.n(w);const y={trace:"#7f8c8d",debug:"#2980b9",info:"#2ecc71",warn:"#f39c12",error:"#c0392b"};let _="debug",$=!1;const E=class{constructor(e,t){e=e||"DEFAULT";const n=["trace","debug","info","warn","error"];for(let r of n)this[r]=function(){const n=Array.from(arguments),s=["#",(new Date).toISOString(),r.toUpperCase(),e.toUpperCase()];t&&""!==t&&s.push(t),s.push("-");const a=`${s.join(" ")}`;$?n.unshift(a):n.unshift(f().hex(y[r]).visible(a)),console.log.apply(null,n)}}static setProduction(e){e&&($=!!e)}static setLevel(e){e&&(_=e)}static getLevel(){return _}};let S=0;const v=require("os");var T=n.n(v);const x=1e3*(Math.floor(Date.now()/1e3)-T().uptime()),b=Date.now(),O=e=>Math.round(e),N={serverUpTime:x,serviceUpTime:b,interval:60,memory:[],cpu:[]};let I;const k=async()=>{N.updateTime=Date.now();const e={time:Date.now(),idle:T().cpus().map((e=>e.times.idle))};if(I){const t=((e,t)=>{const n=t.time-e.time;let r=0;for(let s in t.idle){let a=(t.idle[s]-e.idle[s])/n;a>1&&(a=1),a=100-100*a,r+=a}return O(r/t.idle.length)})(I,e);N.cpu.unshift(t),N.cpu=N.cpu.slice(0,1440)}I=e,N.memory.unshift(O((T().totalmem()-T().freemem())/T().totalmem()*100)),N.memory=N.memory.slice(0,1440)},R=require("body-parser");var D=n.n(R);const A=require("multer");var L=n.n(A);const C=require("cookie-parser");var q=n.n(C);const F=require("knex");var P=n.n(F);const j=e=>{const t={};switch((e=e||{}).type=e.type||"better-sqlite3",e.type){case"sqlite":case"sqlite3":case"better-sqlite3":t.client="better-sqlite3";break;case"mysql":case"mysql2":t.client="mysql2";break;default:throw new Error(`不支持数据库类型${e.type}`)}switch(t.client){case"better-sqlite3":t.connection={filename:e.path||process.cwd()+"/main.sqlite"},t.useNullAsDefault=!0;break;case"mysql2":t.connection={host:e.host,port:e.port||3306,user:e.user,password:e.password,database:e.database,charset:e.charset||"utf8mb4"},t.pool=e.pool||{min:2,max:10}}return t};class z{constructor(e,t){this.config=e,this._config=j(e),this._logger=t||{debug:console.log,trace:console.log}}async ensure(){let e,t,n,r,s;switch(this._config.client){case"better-sqlite3":await g().ensureFile(this._config.connection.filename);break;case"mysql2":e=Object.assign({},this.config),t=e.database,delete e.database,n=P()(j(e)),r=await n.raw("show databases"),s=!!r[0].filter((e=>e.Database===t))[0],s||(this._logger.trace("数据库不存在,正在创建"),await n.raw(`CREATE DATABASE IF NOT EXISTS ${t} default charset utf8mb4 COLLATE utf8mb4_general_ci`),this._logger.trace("数据库创建完成")),await new Promise((e=>{n.destroy((function(){e()}))}));break;default:this._logger.trace(`暂不支持${this._config.client}类型数据库创建,请自行确认数据库存在`)}}async connect(){this.knex||(this.knex=P()(this._config))}async destroy(){this.knex&&(await new Promise((e=>{this.knex.destroy((function(){e()}))})),delete this.knex)}}const M=(e,t)=>{t=t||"-";const n=[];for(let t=0;t<e.length;t++){const s=e.charAt(t),a=s.toLowerCase();0===n.length?n.push(a):((r=s)>="A"&&r<="Z"&&n.push(""),n[n.length-1]=n[n.length-1]+=a)}var r;return n.join(t)},B=(e,t,n,r)=>{let s;switch(n.type=n.type||"string",n.type){case"string":n.length=n.length||255;break;case"number":n.length=n.length||10}if(n.increment)s=e.increments(t);else{let r;switch((e=>{const t=e.length;let n;switch(e.type){case"string":n=t>1e3?"text":"string";break;case"number":n=t>18?"string":null!==e.scale&&void 0!==e.scale?"double":t>9?"bigInteger":t>4?"integer":t>2?"smallint":"tinyint"}return n})(n)){case"tinyint":s=e.tinyint(t),r="number";break;case"smallint":s=e.smallint(t),r="number";break;case"integer":s=e.integer(t),r="number";break;case"bigInteger":s=e.bigInteger(t),r="number";break;case"string":s=e.string(t,n.length),r="string";break;case"text":s=e.text(t,n.length),r="string";break;case"double":s=e.double(t,n.length,n.scale),r="number"}if(null!==n.default){let e;"number"===r?(void 0===n.default&&(n.default=0),e=parseInt(n.default,10)):(void 0===n.default&&(n.default=""),e=n.default.toString()),s.defaultTo(e)}n.notNull&&s.notNullable()}n.key&&s.primary(),r&&s.alter()},H=async(e,t,n)=>{n=n||{};const r={},s=await e.schema.hasTable(t).transacting(e);if(!n.rename&&!n.deleted){let e=!1;for(let t in n.property)n.property[t].key&&(e=!0);e||(r.id={type:"string",length:32});for(let t in n.property)"id"!==t||e?["createdBy","createdTime","updatedBy","updatedTime"].indexOf(t)<0&&(r[t]=n.property[t]):r[t]=n.property[t];let t={type:"number",length:13};if(n.join)for(let e in n.join)r[M(e,"_")+"_id"]={type:"string",length:32};r.createdBy={name:"创建者",type:"string",length:32},r.createdTime={name:"创建时间",...t},r.updatedBy={name:"更新者",type:"string",length:32},r.updatedTime={name:"更新时间",...t}}if(s)if(n.rename){const r=M(n.rename,"_");await e.schema.renameTable(t,r)}else if(n.deleted)await e.schema.dropTable(t);else{let n=await e(t).columnInfo();await e.schema.alterTable(t,(function(e){for(let t in r){const s=M(t,"_"),a=r[t];if(n[s]&&a.rename){const t=M(a.rename,"_");e.renameColumn(s,t)}}})).transacting(e),n=await e(t).columnInfo(),await e.schema.alterTable(t,(function(e){for(let t in r){const s=M(t,"_"),a=r[t];a.rename||(n[s]?a.deleted?e.dropColumn(s):B(e,s,a,!0):a.rename||a.deleted||B(e,s,a))}}))}else n.rename||n.deleted||await e.schema.createTable(t,(function(e){for(let t in r){const n=M(t,"_"),s=r[t];s.rename||s.deleted||B(e,n,s)}})).transacting(e)},U=(e,t,n)=>{t=t||"-";let r=(e=e.toLowerCase()).split(t);e="";for(let t in r){let n=r[t];e+=n.replace(n[0],n[0].toUpperCase())}return n&&(e=e.replace(e[0],e[0].toLowerCase())),e},G=e=>{let t=typeof e;if(null===e)t="null";else if("object"===t){const n=Object.prototype.toString.call(e);"[object Array]"===n?t="array":"[object RegExp]"===n&&(t="regexp")}return t},J=e=>{const t={};for(let n in e)t[M(n,"_")]=e[n];return t},K=async({config:e,logger:t})=>{t=t||{debug:console.log,trace:console.log};const n=new z(e,t);await n.ensure(),await n.connect();const r={info:{}};return{connect:async(e,t)=>((e,t,n,r)=>{r=r||"";const s={};let a;const i=async function(){a||(a=await e.knex.transaction())};return s.setUser=e=>{r=e,n.trace(`已修改操作用户为${e}`)},s.info=async(e,n)=>{if(!n&&t.info[e])return t.info[e];const r=await a.from(e).columnInfo(),s={};for(let e in r){const t=U(e,"_",!0);let n;switch(r[e].type){case"char":case"varchar":case"text":case"mediumtext":case"":n="string";break;case"tinyint":case"smallint":case"int":case"integer":case"bigint":case"float":case"double":n="number";break;default:n="string",console.log(`未知数据类型 ${e} ${JSON.stringify(r[e])}`)}s[t]={type:n,length:parseInt(r[e].maxLength,10)}}return t.info[e]=s,s},s.count=async(e,t,r)=>{await i(),r=r||{},e=M(e,"_");const s=a.from(e);s.count({count:"*"});let o=!1;if(t){t=J(t);for(let e in t)if("object"===G(t[e]))for(let n in t[e]){const r=n,a=t[e][n];"<>"===r&&null===a?s.whereNotNull(e):s.where(e,r,a)}else null===t[e]?s.whereNull(e):s.where(e,t[e]);o=!0}if(r.term&&""!==r.term&&r.termRange)for(let e in r.termRange){const t=r.termRange[e];0===parseInt(e)?o?s.andWhere(t,"like",`%${r.term}%`):(s.where(t,"like",`%${r.term}%`),o=!0):s.orWhere(t,"like",`%${r.term}%`)}return n.trace(s.toSQL().sql,s.toSQL().bindings),(await s)[0].count},s.single=async(e,t,n)=>{(n=n||{}).top=1;const r=await s.select(e,t,n);return r.length,r[0]},s.select=async(e,t,r)=>{n.trace(`查询${e},条件${JSON.stringify(t)},参数${JSON.stringify(r)}`),await i(),r=r||{},e=M(e,"_");const o=await s.info(e),c=a.from(e);let l=r.field;l&&(l=l.map((e=>M(e,"_")))),c.select(l);let u=!1;if(t){t=J(t);for(let e in t)if("object"===G(t[e]))for(let n in t[e]){const r=n,s=t[e][n];"<>"===r&&null===s?c.whereNotNull(e):c.where(e,r,s)}else null===t[e]?c.whereNull(e):c.where(e,t[e]);u=!0}if(r.term&&""!==r.term&&r.termRange)for(let e in r.termRange){const t=r.termRange[e];0===parseInt(e)?u?c.andWhere(t,"like",`%${r.term}%`):(c.where(t,"like",`%${r.term}%`),u=!0):c.orWhere(t,"like",`%${r.term}%`)}if(!r.sort&&o.createdTime&&(r.sort="created_time DESC"),r.sort)if("string"==typeof r.sort){const e=r.sort.split(",");for(let t in e){let n=e[t].trim();n=n.split(" "),n[0]=M(n[0],"_"),e[t]=n.join(" ")}c.orderByRaw(e.join(","))}else c.orderBy(r.sort);return r.top&&c.limit(r.top),r.skip&&c.offset(r.skip),n.trace(c.toSQL().sql,c.toSQL().bindings),(await c).map((e=>(e=>{const t={};for(let n in e)t[U(n,"_",!0)]=e[n];return t})(e)))},s.insert=async(e,t)=>{t=t||{},e=M(e,"_"),await i();const c=async()=>{const t=o();return 0!==await s.count(e,{id:t})?await c():t};t.id||(t.id=await c()),t.createdBy=r||"",t.createdTime=Date.now(),t.updatedBy=r||"",t.updatedTime=Date.now(),t=J(t);const l=a.insert(t).into(e);return n.trace(l.toSQL().sql,l.toSQL().bindings),await l,t.id},s.update=async(e,t)=>{t=t||{},e=M(e,"_"),await i();const s=t.id;if(delete t.id,null==s)throw new Error("数据ID不存在,无法找到要更新的数据");t.updatedBy=r||"",t.updatedTime=Date.now(),t=J(t);const o=a.update(t).from(e).where({id:s});n.trace(o.toSQL().sql,o.toSQL().bindings),await o},s.modify=async(e,t,r)=>{n.trace(`强制修改${e},数据${JSON.stringify(r)},检查字段${JSON.stringify(t)}`),e=M(e,"_");const a={};for(let e of t)a[M(e,"_")]=r[e];const o=await s.single(e,a,{field:["id"]});let i;return o?(i=o.id,r.id=i,await s.update(e,r)):i=await s.insert(e,r),i},s.ensure=async(e,t,r)=>{n.trace(`确保${e}存在数据${JSON.stringify(r)},检查字段${JSON.stringify(t)}`),e=M(e,"_");const a={};for(let e of t)a[M(e,"_")]=r[e];const o=await s.select(e,a,{field:["id"]});let i;return i=o[0]?o[0].id:await s.insert(e,r),i},s.delete=async(e,t)=>{e=M(e,"_");const r=a.from(e);return t&&(t=J(t),r.where(t)),n.trace(r.toSQL().sql,r.toSQL().bindings),await r.del()},s.sql=async(e,t)=>(await i(),await a.raw(e,t)),s.commit=async()=>{if(a)try{await a.commit(),a=null}catch(e){n.error(e)}},s.rollback=async()=>{if(a)try{await a.rollback(),a=null}catch(e){n.error(e)}},s})(n,r,e,t),destroy:async()=>{await n.destroy()}}},W=async({config:e,logger:t,entity:n,view:r})=>{t=t||{debug:console.log,trace:console.log};const s=new z(e,t);await s.ensure(),await s.connect();const a=await s.knex.transaction();try{for(let e in n){const r=M(e,"_");t.debug(`正在安装实体${e}为${r}`),await H(a,r,n[e]),t.debug(`正在安装实体${e}完成`)}for(let e in r){const t=M(e,"_");await a.schema.dropViewIfExists(t)}const e=((e,t)=>{t=!!t;const n={};for(let t in e)n[M(t,"_")]=e[t];const r=(e=>{let t={};for(let n in e)t[n]=e[n].sql;return t})(n),s=(e=>{let t={};const n=t=>{if(0===e[t].length)return 1;{let r=1;for(let s in e[t])r+=n(e[t][s]);return r}};for(let r in e)t[r]=n(r);return t})((e=>{let t={};for(let n in e){t[n]=[];for(let r in e){let s=e[r].toLowerCase();s=s.replace(/`/g,""),s=s.replace(/\n/g," "),s=s.replace(/ {2}/g," "),s=s.replace(/ {2}/g," "),s=s.replace(/ {2}/g," "),(s.indexOf(` from ${n} `)>=0||s.indexOf(` join ${n} `)>=0)&&t[n].push(r)}}let n={};for(let r in e){n[r]=[];for(let e in t)t[e].indexOf(r)>=0&&n[r].push(e)}return n})(r)),a=((e,t)=>{let n=[];for(let t in e)n.push({name:t,index:e[t]});n=n.sort(((e,t)=>e.index>t.index?1:-1)),t&&(n=n.reverse());let r=[];for(let e in n)r.push(n[e].name);return r})(s,t);let o={};for(let e in a)o[U(a[e],"_")]=n[a[e]];return o})(r);for(let n in e){const r=M(n,"_");t.debug(`正在安装视图${n}为${r}`),await a.schema.createViewOrReplace(r,(function(t){t.as(e[n].sql)})),t.debug(`正在安装视图${n}完成`)}await a.commit()}catch(e){await a.rollback()}await s.destroy()},Z=async(e,t)=>{let n;if("redis"===(e.type||"sqlite")){const e={};n=t=>({get:async(t,n)=>(e[t]||{})[n],set:async(t,n,r)=>{e[t]=e[t]||{},e[t][n]=r}})}else{await W({config:e,logger:t,entity:{cache:{property:{namespace:{type:"string",length:100,notNull:!0},key:{type:"string",length:500,notNull:!0},value:{type:"string",length:1e4,notNull:!0}}}}});const r=await K({config:e,logger:t});n=e=>({get:async(t,n)=>{const s=await r.connect(e),a=await s.single("cache",{namespace:t,key:n});if(await s.commit(),a)return e.trace(`读取缓存${t} ${n}。数据为${a.value}`),a.value;e.trace(`读取缓存${t} ${n}。数据为空`)},set:async(t,n,s)=>{const a=await r.connect(e);try{s?await a.modify("cache",["namespace","key"],{namespace:t,key:n,value:s}):await a.delete("cache",{namespace:t,key:n}),await a.commit(),e.trace(`写入缓存${t} ${n}成功。数据为${s}`)}catch(r){await a.rollback(),e.trace(`写入缓存${t} ${n}失败。数据为${s}`),e.error(r)}}})}return n};class Y{constructor(e){this.req=e,this._id=e.sumor.cookie.t,this._user=null,this._permission={},this._data={},this._time=0}async update({user:e,data:t,permission:n}){e&&(this._user=e,this.req.sumor.db&&this.req.sumor.db.setUser(e)),n&&(this._permission=n),t&&(this._data=t),await this.save()}get id(){return this._id||""}set id(e){throw new Error("sumorApp.TOKEN_ID_EDIT_FORBIDDEN_DIRECTLY")}get time(){return this._time||""}set time(e){throw new Error("sumorApp.TOKEN_TIME_EDIT_FORBIDDEN_DIRECTLY")}get data(){return this._data||{}}set data(e){throw new Error("sumorApp.TOKEN_DATA_EDIT_FORBIDDEN_DIRECTLY")}get user(){return this._user||""}set user(e){throw new Error("sumorApp.USER_EDIT_FORBIDDEN_DIRECTLY")}get permission(){return this._permission}set permission(e){throw new Error("sumorApp.PERMISSION_EDIT_FORBIDDEN_DIRECTLY")}async setData(e,t){this._data[e]=t,await this.save()}async setPermission(e,t){if(e){let n={};if("string"==typeof e)n[e]=t||[];else if("array"===G(e))for(let t of e)n[t]=[];else n=e;for(let e in n)this._permission[e]=this._permission[e]||[],this._permission[e]=this._permission[e].concat(n[e]);await this.save()}}has(e,t){let n=!1;return this._permission[e]&&(t?this._permission[e].indexOf(t)>=0&&(n=!0):n=!0),n}check(e,t){if(!this.user)throw new Error("sumorApp.LOGIN_EXPIRED");if(e){let n,r=[];const s=(e,t)=>{t?r.push(`${e}-${t}`):r.push(`${e}`)};if("string"==typeof e)n=this.has(e,t),n||s(e,t);else for(let t in e){const r=e[t];"string"==typeof r?(n=this.has(r,""),n||s(r,"")):(n=this.has(r.key,r.value),n||s(r.key,r.value))}const a=r.length>0;if(r.length>0){const e=new Error("sumorApp.PERMISSION_DENIED");throw e.data={auth:r.join(",")},e}return a}}async destroy(){""!==this.id&&(await this.req.sumor.cache.set("token",this.id,void 0),delete this.req.sumor.cookie.t)}async load(){if(""!==this.id){let e=await this.req.sumor.cache.get("token",this.id);e?(e=JSON.parse(e),this._user=e.user||null,this._time=e.time||0,this._data=e.data||{},this._permission=e.permission||{}):(this._id=null,this.req.sumor.cookie.t=this._id)}}async save(){this._id||(this._id=o(),this.req.sumor.cookie.t=this._id),await this.req.sumor.cache.set("token",this._id,JSON.stringify({user:this.user,data:this.data,permission:this._permission,time:Date.now()}))}}class X{constructor(e,t){this.req=e,this.res=t,this.respond=!1,this._changed=!1,this._hasError=!1,this._code="OK",this._message="",this._data=null}set code(e){const t=this.req.sumor.text(e,this._data);e&&t?(this._code=e,this._message=t):(this._code="sumorApp.NETWORK_ERROR",this._message=this.req.sumor.text(this._code))}get code(){return this._code}set message(e){this._message=e}get message(){return this._message}set data(e){this._data=e,this._changed=!0}get data(){return this._data}set changed(e){this._changed=e}get changed(){return this._changed}error(e){this.code=e,this._hasError=!0}end(){if(void 0!==this._data)try{this.res.send(this._data)}catch(e){if("ERR_HTTP_HEADERS_SENT"!==e.code)throw e}}send(){const e={code:this._code,message:this._message,data:this._data};if(this._hasError)try{this.res.status(500),"html"===this.req.accepts(["html","json"])?this.res.send((({title:e,code:t,desc:n,data:r})=>`<html>\n<head>\n<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">\n<style type="text/css">\nhtml{\n background: #273343;\n color: #fff;\n text-align: center;\n padding: 30px;\n}\n.title{\n opacity: .6;\n padding-bottom: 10px;\n}\n.content{\n padding-bottom: 10px;\n}\n.showDetail{\n margin-top: 20px;\n color: #03a9f4;\n cursor: pointer;\n}\n.showDetail.show{\n display: none;\n}\n.detailBox{\n position: relative;\n opacity: 0;\n}\n.detailBox.show{\n opacity: 1;\n}\npre{\n border: 1px solid rgba(255,255,255,.6);\n border-radius: 2px;\n text-align: left;\n height: 50%;\n max-width: 500px;\n margin: 0 auto;\n margin-top: 20px;\n overflow: auto;\n padding: 10px;\n}\n.detailMessage{\n font-size: 14px;\n width: fit-content;\n margin: 0 auto;\n margin-top: 5px;\n}\n</style>\n</head>\n<body>\n<h1>${e}</h1>\n<div class="title">错误原因</div>\n<div class="content">${t} ${n}</div>\n<div class="title showDetail" onclick="show()">点击查看详细错误信息</div>\n<div class="detailBox">\n <pre>${JSON.stringify(r,null,4)}</pre>\n <div class="detailMessage">请将该技术信息提供给应用管理员</div>\n</div>\n<script>\nfunction show(){\n var oDiv = document.getElementsByTagName('div')[2];\n oDiv.classList.add('show')\n var oPre = document.getElementsByTagName('div')[3];\n oPre.classList.add('show');\n}\n<\/script>\n</body>\n</html>`)({title:"服务异常,请稍后再试",...e})):this.res.send(e)}catch(e){if("ERR_HTTP_HEADERS_SENT"!==e.code)throw e}else try{this.res.set("Content-Type","application/json;charset=utf-8"),this.res.send(e)}catch(e){if("ERR_HTTP_HEADERS_SENT"!==e.code)throw e}}}const Q=require("ali-oss");var V=n.n(Q);const ee={resize:{mode:"m",width:"w",height:"h",longer:"l",shorter:"s"},quality:{related:"q",absolute:"Q"},circle:{radius:"r"},blur:{radius:"r",size:"s"}},te=require("path");var ne=n.n(te);const re=require("crypto");var se=n.n(re);class ae{constructor(e,t){if(this._logger=t,e)switch(e.type){case"aliyunOSS":this._instance=new class{constructor(e){this.aliyunOSS=new(V())(e)}async put(e,t){const n=await this.aliyunOSS.putStream(e,t);if(n.res.status>299){const e=new Error("sumorStorage.STORAGE_INSTANCE_ERROR");throw e.data={msg:n.res},e}}async info(e,t){t=t||{};const n={};let r,s;try{if(r=await this.aliyunOSS.get(e,{process:"image/info"}),t.color)try{const t=await this.aliyunOSS.get(e,{process:"image/average-hue"});if(t.content){const e=JSON.parse(t.content.toString());n.color=e.RGB.replace("0x","#")}}catch(e){}}catch(e){if("NoSuchKey"===e.code)return null;s=e.message}if(!s&&r&&r.res.status>299&&(s=r.res),s){const e=new Error("sumorStorage.STORAGE_INSTANCE_ERROR");throw e.data={msg:s},e}const a=JSON.parse(r.content.toString()),o=e=>{if(a[e])return a[e].value};return n.format=o("Format"),n.size=o("FileSize"),n.height=o("ImageHeight"),n.height&&(n.height=parseInt(n.height,10)),n.width=o("ImageWidth"),n.width&&(n.width=parseInt(n.width,10)),n.make=o("LensMake"),n.model=o("LensModel"),n}async get(e,t){let n,r,s;try{r=await this.aliyunOSS.getStream(e,(e=>{let t={};if(e.image){let n=[];for(let t in ee){const r=e.image[t];if(r){let e=[];e.push(t);for(let n in ee[t])r[n]&&e.push(`${ee[t][n]}_${r[n]}`);n.push(e.join(","))}}e.image.format&&n.push(`format,${e.image.format}`),e.image.orient&&n.push("auto-orient,1"),n.length>0&&(t.process=`image/${n.join("/")}`)}return t})(t))}catch(e){"NoSuchKey"!==e.code&&(s=e.message)}if(!s&&r&&r.res.status>299&&(s=r.res),s){const e=new Error("sumorStorage.STORAGE_INSTANCE_ERROR");throw e.data={msg:s},e}return r&&(n=r.stream),n}async delete(e){const t=await this.aliyunOSS.delete(e);if(t.res.status>299){const e=new Error("sumorStorage.STORAGE_INSTANCE_ERROR");throw e.data={msg:t.res},e}}async exists(e){let t=!0;try{await this.aliyunOSS.get(e)}catch(e){if("NoSuchKey"!==e.code)throw new Error("sumorStorage.STORAGE_INSTANCE_ERROR");t=!1}return t}}(e);break;case"file":this._instance=new class{constructor(e){this.config=e,this.root=ne().resolve(process.cwd(),this.config.path)}_getTargetPath(e){return ne().join(this.root,e)}async put(e,t){const n=this._getTargetPath(e);g().ensureFileSync(n),await new Promise((e=>{let r=g().createWriteStream(n,{encoding:"utf8",start:0});t.pipe(r),t.on("end",(function(){e()}))}))}async get(e){const t=this._getTargetPath(e);if(await g().exists(t))return g().createReadStream(t)}async delete(e){const t=this._getTargetPath(e);await g().remove(t)}async exists(e){const t=this._getTargetPath(e);return await g().exists(t)}}(e)}}async put(e,t){if(t=l(t),!this._instance)throw new Error("sumorStorage.STORAGE_NOT_CONNECTED");try{const n=(e=>{let t={},n=se().createHash("md5"),r=0;return e.on("data",(e=>{r+=e.length})),e.on("data",n.update.bind(n)),e.on("end",(function(){t.length=r,t.hash=n.digest("hex")})),t})(t),r=await this._instance.put(e,t);return n.response=r,n}catch(e){throw new Error("sumorStorage.STORAGE_FILE_SAVE_FAILED")}}async get(e,t){if(t=t||{},!this._instance)throw new Error("sumorStorage.STORAGE_NOT_CONNECTED");try{const n=await this._instance.get(e,t);return await m(n,t.type)}catch(e){throw new Error("sumorStorage.STORAGE_FILE_READ_FAILED")}}async delete(e){if(!this._instance)throw new Error("sumorStorage.STORAGE_NOT_CONNECTED");try{return await this._instance.delete(e)}catch(e){throw new Error("sumorStorage.STORAGE_FILE_DELETE_FAILED")}}async info(e,t){if(!this._instance)throw new Error("sumorStorage.STORAGE_NOT_CONNECTED");try{return await this._instance.info(e,t)}catch(e){throw new Error("sumorStorage.STORAGE_FILE_INFO_FAILED")}}async exists(e){if(!this._instance)throw new Error("sumorStorage.STORAGE_NOT_CONNECTED");try{return await this._instance.exists(e)}catch(e){throw new Error("sumorStorage.STORAGE_FILE_INFO_FAILED")}}}const oe=require("@alicloud/sms-sdk");var ie=n.n(oe);let ce;class le{constructor(e,t){this._config=e,this._logger=t||{error:console.log,debug:console.log,trace:console.log}}async send(e,t,n,r){const{signName:s,accessKeyId:a,secretAccessKey:o}=this._config;if(this._config&&!this._config.disable){if(ce||(ce=new(ie())({accessKeyId:a,secretAccessKey:o})),86!==t)throw await new Promise((e=>{setTimeout((()=>{e()}),1e3)})),new Error("sumorSMS.MOBILE_PREFIX_NOT_SUPPORT");if(!n.match(/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/))throw new Error("sumorSMS.MOBILE_FORMAT");try{await new Promise(((t,a)=>{ce.sendSMS({PhoneNumbers:n,SignName:s,TemplateCode:e,TemplateParam:JSON.stringify(r)}).then((function(e){let{Code:n}=e;"OK"===n?t():a(n)}),(function(e){a(e.data.Code)}))}))}catch(e){const t=new Error("sumorSMS.SMS_SEND_FAILED");throw t.data={msg:e},t}}else this._logger.error(`消息发送功能不可用。需要发送消息${e}给${t} ${n},参数${JSON.stringify(r)}`)}}var ue=n(167),me=n.n(ue),pe=n(147),de=n.n(pe);const ge=require("jsrsasign"),he=18e5;class we{constructor(e,t,n){this._config=e,this._cache=t,this._name=e.name||"",this._logger=n,this._updatingToken=!1,e.pay&&(this.pay=(e=>{const t=`${process.cwd()}/${e.pay.privateKey}`,n=de().readFileSync(t,"utf8"),r=function(e,t="SHA256withRSA"){const r=e.join("\n")+"\n",s=new ge.KJUR.crypto.Signature({alg:t,prvkeypem:n});s.updateString(r);const a=s.sign();return(0,ge.hextob64)(a)},s=async t=>{let n=Math.floor(Date.now()/1e3),s=Math.random().toString(36).substr(2,15);const a=r([t.method.toUpperCase(),t.url,n,s,t.body]);let o={"Content-Type":"application/json",Accept:"application/json",Authorization:`WECHATPAY2-SHA256-RSA2048 mchid="${e.pay.mchId}",nonce_str="${s}",signature="${a}",timestamp="${n}",serial_no="${e.pay.serialNo}"`};try{return(await me()({method:t.method.toUpperCase(),url:"https://api.mch.weixin.qq.com"+t.url,data:t.body,headers:o})).data}catch(e){throw e.response}};return{sign:r,order:async function(t){t.desc=t.desc||"虚拟商品";let n={method:"POST",url:"/v3/pay/transactions/jsapi",body:JSON.stringify({appid:e.key,mchid:e.pay.mchId,description:t.desc,out_trade_no:t.id,notify_url:e.pay.notifyUrl,amount:{total:Math.round(100*t.amount),currency:"CNY"},payer:{openid:t.openId}})};return(await s(n)).prepay_id},check:async function(t){return await s({method:"GET",url:`/v3/pay/transactions/out-trade-no/${t}?mchid=${e.pay.mchId}`})},close:async function(t){let n={method:"POST",url:`/v3/pay/transactions/out-trade-no/${t}/close`,body:JSON.stringify({mchid:e.pay.mchId,out_trade_no:t})};return await s(n)}}})(e))}async call(e,t){let n;try{n=t?await me().post(e,t):await me().get(e)}catch(e){const t=new Error("WECHAT_API_FAILED");throw t.data={msg:"微信服务器连接失败:"+e.message},t}if(n.data.errcode){this._logger.error();const e=new Error("WECHAT_ERROR");throw e.data={msg:n.data.errmsg},e}return n.data}async init(e){this._app=e,this._logger.info(`微信校验文件已启动 /MP_verify_${this._config.verifyCode}.txt`),e.get(`/MP_verify_${this._config.verifyCode}.txt`,((e,t)=>{t.send(this._config.verifyCode)})),await this.getToken(),setInterval((()=>{this._logger.trace("开始检查微信服务授权凭证是否过期"),this.getToken(),this._logger.trace("检查微信服务授权凭证已完成")}),6e4)}async getToken(){const e=async()=>{let e=await this._cache.get("wechatAccessToken",this._name);return e&&(e=JSON.parse(e)),e=e||{},e.time=e.time||0,e};let t=await e();return Date.now()-t.time>he&&(await this._refreshToken(),t=await e()),(!t||!t.token||Date.now()-t.time>he)&&this._logger.error("微信服务授权凭证更新失败"),t.token}async reloadUsers(){let e,t="",n=0,r=[];const s=async()=>{const a=await this.list(t);e||(e=a.total),n+=a.count,r=r.concat(a.data.openid),n<e&&(t=a.next_openid,await s())};await s();const a=[];for(let e of r)a.push(await this.detail(e));return a}async list(e){e=e||"";const t=`https://api.weixin.qq.com/cgi-bin/user/get?access_token=${await this.getToken()}&next_openid=${e}`;return await this.call(t)}async detail(e){const t=`https://api.weixin.qq.com/cgi-bin/user/info?access_token=${await this.getToken()}&openid=${e}`;return await this.call(t)}async sendTemplateMessage(e,t,n,r){const s=await this.getToken();let a={};for(let e in r)a[e]={value:r[e]};const o=`https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${s}`;try{await this.call(o,{touser:e,template_id:t,url:n,data:a}),this._logger.debug(`模版消息已发送给${e},模版${t},数据${JSON.stringify(r)}`)}catch(n){this._logger.error(`给${e}的模版消息发送失败,模版${t},数据${JSON.stringify(r)}`),this._logger.error(n)}}async updateMenu(e){const t=await this.getToken();await this.call(`https://api.weixin.qq.com/cgi-bin/menu/create?access_token=${t}`,e)}async _refreshToken(){if(!this._updatingToken){this._updatingToken=!0,this._logger.info("正在更新微信服务授权凭证");const e=`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${this._config.key}&secret=${this._config.secret}`,t=await me().get(e);if(200===t.status){const e={};t.data.access_token?(e.token=t.data.access_token,e.time=Date.now(),this._logger.info("微信服务授权凭证已更新"),this._logger.info(`授权凭证: ${e.token}`),await this._cache.set("wechatAccessToken",this._name,JSON.stringify(e))):this._logger.error(t.data)}else this._logger.error(t.data);this._updatingToken=!1}}}const fe=e=>((e=e||{}).name=e.name||"",e.desc=e.desc||"",e.type=e.type||"any",e.placeholder=e.placeholder||"",e.required=!0===e.required,e.length=e.length||0,e.rule=e.rule||[],e.helper=e.helper||{},"string"===e.type&&(e.trim=!1!==e.trim,e.upperCase=!0===e.upperCase,e.lowerCase=!0===e.lowerCase),e),ye={text:e=>((e=e||{}).name=e.name||"",e.desc=e.desc||"",e.origin=e.origin||{},e.target=e.target||{},e),rule:e=>((e=e||{}).name=e.name||"",e.desc=e.desc||"",e.text=e.text||"",e.expression=e.expression||"",e),type:fe,entity:(e,t,n)=>{(e=e||{}).name=e.name||"",e.desc=e.desc||"",e.property=e.property||{};for(let r in e.property){const s=e.property[r].type;s&&t.type[s]?(e.property[r]=Object.assign({},t.type[s],e.property[r]),e.property[r].type=t.type[s].type):e.property[r]=fe(e.property[r]),t.type[`${n}.${r}`]=e.property[r]}return e.join=e.join||{},e},program:(e,t)=>{(e=e||{}).name=e.name||"",e.desc=e.desc||"",e.parameters=e.parameters||{};for(let n in e.parameters){const r=e.parameters[n].type;r&&t.type[r]?(e.parameters[n]=Object.assign({},t.type[r],e.parameters[n]),e.parameters[n].type=t.type[r].type):e.parameters[n]=fe(e.parameters[n])}return e}},_e=require("glob");var $e=n.n(_e);const Ee=async({condition:e,options:t})=>(t=t||{},await new Promise((function(n){$e()(e,t,(function(e,t){for(let e in t)t[e]=ne().normalize(t[e]),t[e]=t[e].replace(/\\/g,"/");n(t)}))}))),Se=e=>{let t=e.split("/"),n=t.pop().split("."),r=n.pop(),s=n.shift(),a=null;n.length>0&&(a=n.pop());const o=[...t,s].join(".");return{path:o,route:"/api/"+o.replace(/\./g,"/"),name:s,suffix:r,type:a}},ve=async(e,t,n)=>{const r={};if(await g().exists(e)){const s=t?`**/**.${t}.json`:"**/**.json",a=await Ee({condition:s,options:{cwd:e}});for(let t of a){const n=`${e}/${t}`;r[Se(t).path]=await g().readJson(n)}if(n&&"json"!==n){const s=t?`**/**.${t}.${n}`:`**/**.${n}`,a=await Ee({condition:s,options:{cwd:e}});for(let t of a){const n=`${e}/${t}`,s=Se(t);r[s.path]=r[s.path]||{},r[s.path][s.suffix]=await g().readFile(n,"utf-8")}}}return r},Te={sumorApp:{name:"轻呈云应用文本",origin:{INTERNAL_ERROR:"程序内部错误,请稍后重试,或联系管理员",NETWORK_ERROR:"网络错误,请稍后重试,或联系管理员",PERMISSION_DENIED:"没有访问该功能权限,请联系管理员。缺少权限:${auth}",LOGIN_EXPIRED:"登陆授权失效,请重新登陆",PERMISSION_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改permission,请使用setPermission",LOGIN_STATUS_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改登录状态",USER_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改user,请使用setUser",TOKEN_ID_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改令牌ID,请使用setID",TOKEN_TIME_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改令牌时间",TOKEN_DATA_EDIT_FORBIDDEN_DIRECTLY:"禁止直接修改令牌数据",LACK_USER_ID:"缺少用户ID",AUTH_ERROR:"授权失败,请稍后重试",AUTH_ERROR_COOKIE_MISSING:"cookie丢失",API_NOT_FOUND:"接口未找到",INVALID_PARAMETER:"无效数据:${msg}",RULE_LOGIC_NOT_FUNCTION:"规则逻辑不是有效函数方法",SUFFIX_REQUIRED:"转换为对象缺少必要的后缀名",PATH_ARROGATION:"路径越级",NOT_SUPPORT_ABSOLUTE_PATH:"不支持绝对路径",REQUIRED:"必填项",LENGTH_OUT_OF_LIMIT:"长度必须小于${length}",WECHAT_DISABLED:"微信未启用,请联系管理员"},target:{en:{INTERNAL_ERROR:"Internal program error, please try again later, or contact administrator",NETWORK_ERROR:"Network error. Please try again later or contact the administrator",PERMISSION_DENIED:"You do not have permission ${auth}, please contact administrator",LOGIN_EXPIRED:"Login expired, please login",INVALID_PARAMETER:"Invalid data: ${msg}",RULE_LOGIC_NOT_FUNCTION:"Rule logic isn't valid function",SUFFIX_REQUIRED:"Suffix required for object path",PATH_ARROGATION:"Path arrogation",NOT_SUPPORT_ABSOLUTE_PATH:"Not support absolute path",REQUIRED:"Required",LENGTH_OUT_OF_LIMIT:"The length must be less than ${length}"}}},sumorSMS:{origin:{MOBILE_FORMAT:"手机号格式错误",MOBILE_PREFIX_NOT_SUPPORT:"该国家地区暂未开通服务",SMS_SEND_FAILED:"消息发送失败:${msg}"}},sumorStorage:{name:"轻呈云存储文本",origin:{STORAGE_INSTANCE_ERROR:"存储系统交互异常:${msg}",STORAGE_FILE_SAVE_FAILED:"文件写入失败",STORAGE_NOT_CONNECTED:"未配置存储服务器连接",STORAGE_FILE_READ_FAILED:"文件读取失败",STORAGE_FILE_DELETE_FAILED:"文件删除失败",STORAGE_FILE_INFO_FAILED:"文件获取信息失败"}},sumorDemo:{origin:{DEMO_TEXT_ZH:"演示文本:中文,当前语言环境不匹配,已回归原始文本",DEMO_TEXT_ZHCN:"演示文本:中国大陆简体中文,当前语言环境不匹配,已回归原始文本",DEMO_TEXT_ZHHK:"演示文本:中国香港繁体中文,当前语言环境不匹配,已回归原始文本",DEMO_TEXT_EN:"演示文本:英文,当前语言环境不匹配,已回归原始文本"},target:{en:{DEMO_TEXT_EN:"Demo text for english"},zh:{DEMO_TEXT_ZH:"演示文本:中文"},"zh-CN":{DEMO_TEXT_ZHCN:"演示文本:中国大陆简体中文"},"zh-HK":{DEMO_TEXT_ZHHK:"演示文本:中國香港繁體中文"}}}},xe={"sumorApp.term":{name:"查询条件",required:!1},"sumorApp.skip":{name:"跳过条数",type:"number",default:0,required:!1},"sumorApp.top":{name:"条数",type:"number",default:100,required:!1},"sumorApp.sort":{name:"排序规则",type:"string",required:!1}},be={"sumor.language":"sq=阿尔巴尼亚语|Shqip\nsq-AL=阿尔巴尼亚语(阿尔巴尼亚)|Shqiptar (Shqipëri)\ngsw=阿尔萨斯语\ngsw-FR=阿尔萨斯语(法国)\nar=阿拉伯语|العربية\nar-DZ=阿拉伯语(阿尔及利亚)|العربية (الجزائر)\nar-AE=阿拉伯语(阿联酋)|العربية (الإمارات العربية المتحدة)\nar-OM=阿拉伯语(阿曼)|العربية (سلطنة عمان)\nar-EG=阿拉伯语(埃及)|العربية (مصر)\nar-BH=阿拉伯语(巴林)|العربية (البحرين)\nar-QA=阿拉伯语(卡塔尔)|العربية (قطر)\nar-KW=阿拉伯语(科威特)|العربية (الكويت)\nar-LB=阿拉伯语(黎巴嫩)|العربية (لبنان)\nar-LY=阿拉伯语(利比亚)|العربية (ليبيا)\nar-MA=阿拉伯语(摩洛哥)|العربية (المغرب)\nar-SA=阿拉伯语(沙特阿拉伯)|العربية (المملكة العربية السعودية)\nar-TN=阿拉伯语(突尼斯)|العربية (تونس)\nar-SY=阿拉伯语(叙利亚)|العربية (سوريا)\nar-YE=阿拉伯语(也门)|العربية (اليمن)\nar-IQ=阿拉伯语(伊拉克)|العربية (العراق)\nar-JO=阿拉伯语(约旦)|العربية (الأردن)\nam=阿姆哈拉语|አማርኛ\nam-ET=阿姆哈拉语(埃塞俄比亚)|አማርኛ (ኢትዮጵያ)\nas=阿萨姆语|অসমীয়া\nas-IN=阿萨姆语(印度)|অসম (ভাৰত)\naz=阿塞拜疆语|Azərbaycan\naz-Latn=阿塞拜疆语(拉丁语)|Azərbaycan dili (Latın dili)\naz-Latn-AZ=阿塞拜疆语(拉丁语,阿塞拜疆)|Azerbaijani (Latınca, Azerbaijani)\naz-Cyrl=阿塞拜疆语(西里尔文)|Azerbaijani (şirniyyat)\naz-Cyrl-AZ=阿塞拜疆语(西里尔文,阿塞拜疆)|Azerbaijani (Şirniyyat, Azerbaijani)\nkn=埃纳德语\nkn-IN=埃纳德语(印度) \nga=爱尔兰语 \nga-IE=爱尔兰语(爱尔兰) \net=爱沙尼亚语 \net-EE=爱沙尼亚语(爱沙尼亚) \noc=奥克西唐语 \noc-FR=奥克西唐语(法国) \nor=奥里雅语 \nor-IN=奥里雅语(印度) \nba=巴什基尔语 \nba-RU=巴什基尔语(俄罗斯) \neu=巴斯克语 \neu-ES=巴斯克语(巴斯克) \nnso=巴索托语 \nnso-ZA=巴索托语(南非) \nbe=白俄罗斯语 \nbe-BY=白俄罗斯语(白俄罗斯) \nbg=保加利亚语 \nbg-BG=保加利亚语(保加利亚) \nse=北萨米语 \nse-FI=北萨米语(芬兰) \nse-NO=北萨米语(挪威) \nse-SE=北萨米语(瑞典) \nis=冰岛语 \nis-IS=冰岛语(冰岛) \npl=波兰语 \npl-PL=波兰语(波兰) \nbs=波斯尼亚语 \nbs-Latn=波斯尼亚语(拉丁语) \nbs-L=波斯尼亚语(拉丁语,波斯尼亚和黑塞哥维那) \nbs-Cyrl=波斯尼亚语(西里尔文) \nfa=波斯语 \nfa-IR=波斯语 \n布里多尼语\nbr-FR=布里多尼语(法国) \nbo=藏语 \nbo-CN=藏语(中国) \nko=朝鲜语 \nko-KR=朝鲜语(韩国) \ntn=茨瓦纳语 \ntn-ZA=茨瓦纳语(南非) \nprs=达里语 \nprs-AF=达里语(阿富汗) \ntt=鞑靼语 \ntt-RU=鞑靼语(俄罗斯) \nda=丹麦语 \nda-DK=丹麦语(丹麦) \nde=德语 \nde-AT=德语(奥地利) \nde-DE=德语(德国) \nde-LI=德语(列支敦士登) \nde-LU=德语(卢森堡) \nde-CH=德语(瑞士) \ndv=迪维希语 \ndv-MV=迪维希语(马尔代夫) \nru=俄语 \nru-RU=俄语(俄罗斯) \nfo=法罗语 \nfo-FO=法罗语(法罗群岛) \nfr=法语 \nfr-BE=法语(比利时) \nfr-FR=法语(法国) \nfr-CA=法语(加拿大) \nfr-LU=法语(卢森堡) \nfr-MC=法语(摩纳哥) \nfr-CH=法语(瑞士) \nsa=梵语 \nsa-IN=梵语(印度) \nfil=菲律宾语 \nfil-PH=菲律宾语(菲律宾) \nfi=芬兰语 \nfi-FI=芬兰语(芬兰) \nfy=弗里西亚语 \nfy-NL=弗里西亚语(荷兰) \nkm=高棉语 \nkm-KH=高棉语(柬埔寨) \nkl=格陵兰语 \nkl-GL=格陵兰语(格陵兰) \nka=格鲁吉亚语 \nka-GE=格鲁吉亚语(格鲁吉亚) \ngu=古吉拉特语 \ngu-IN=古吉拉特语(印度) \nkk=哈萨克语 \nkk-KZ=哈萨克语(哈萨克斯坦) \nha=豪撒语 \nha-Latn=豪撒语(拉丁语) \nha-Latn-NG=豪撒语(拉丁语,尼日利亚) \nnl=荷兰语 \nnl-BE=荷兰语(比利时) \nnl-NL=荷兰语(荷兰) \nqut=基切语 \nqut-GT=基切语(危地马拉) \nky=吉尔吉斯语 \nky-KG=吉尔吉斯语(吉尔吉斯斯坦) \ngl=加利西亚语 \ngl-ES=加利西亚语(加利西亚语) \nca=加泰罗尼亚语 \nca-ES=加泰罗尼亚语(加泰罗尼亚) \ncs=捷克语 \ncs-CZ=捷克语(捷克共和国) \nco=科西嘉语 \nco-FR=科西嘉语(法国) \n克罗地亚语\nhr-HR=克罗地亚语(克罗地亚) \nhr-B=克罗地亚语(拉丁语,波斯尼亚和黑塞哥维那) \nquz=克丘亚语 \nquz-BO=克丘亚语(玻利维亚) \nquz-EC=克丘亚语(厄瓜多尔) \nquz-PE=克丘亚语(秘鲁) \nkok=孔卡尼语 \nkok-IN=孔卡尼语(印度) \nlv=拉脱维亚语 \nlv-LV=拉脱维亚语(拉脱维亚) \nlo=老挝语 \nlo-LA=老挝语(老挝人民民主共和国) \nlt=立陶宛语 \nlt-LT=立陶宛语(立陶宛) \nlb=卢森堡语 \nlb-LU=卢森堡语(卢森堡) \nrw=卢旺达语 \nrw-RW=卢旺达语(卢旺达) \nro=罗马尼亚语 \nro-RO=罗马尼亚语(罗马尼亚) \nrm=罗曼什语 \nrm-CH=罗曼什语(瑞士) \nsmj=律勒萨米语 \nsmj-NO=律勒萨米语(挪威) \nsmj-SE=律勒萨米语(瑞典) \nmt=马耳他语 \nmt-MT=马耳他语(马耳他) \nmr=马拉地语 \nmr-IN=马拉地语(印度) \nml=马拉雅拉姆语 \nml-IN=马拉雅拉姆语(印度) \nms=马来语 \nms-MY=马来语(马来西亚) \nms-BN=马来语(文莱达鲁萨兰国) \narn=马普丹冈语 \narn-CL=马普丹冈语(智利) \nmk=马其顿语\nmk-MK=马其顿语(前南斯拉夫马其顿共和国) \nmi=毛利语 \nmi-NZ=毛利语(新西兰) \nmn=蒙古语 \nmn-Mong=蒙古语(传统蒙古语) \nmn-Mong-CN=蒙古语(传统蒙古语,中国) \nmn-Cyrl=蒙古语(西里尔文) \nmn-MN=蒙古语(西里尔文,蒙古) \nbn=孟加拉语 \nbn-BD=孟加拉语(孟加拉国) \nbn-IN=孟加拉语(印度) \nmoh=莫霍克语 \nmoh-CA=莫霍克语(莫霍克) \naf=南非荷兰语 \naf-ZA=南非荷兰语(南非) \nsma=南萨米语 \nsma-NO=南萨米语(挪威) \nsma-SE=南萨米语(瑞典) \nne=尼泊尔语 \nne-NP=尼泊尔语(尼泊尔) \nnn-NO=尼诺斯克挪威语(挪威) \nno=挪威语 \nnn=尼诺斯克语\npa=旁遮普语 \npa-IN=旁遮普语(印度) \npt=葡萄牙语 \npt-BR=葡萄牙语(巴西) \npt-PT=葡萄牙语(葡萄牙) \nps=普什图语 \nps-AF=普什图语(阿富汗) \nja=日语 \nja-JP=日语(日本) \nsv=瑞典语 \nsv-FI=瑞典语(芬兰) \nsv-SE=瑞典语(瑞典) \nsr=塞尔维亚语 \nsr-Latn=塞尔维亚语(拉丁语) \nsr-Latn-ME=塞尔维亚语(拉丁语,黑山共和国) \nsr-Latn-RS=塞尔维亚语(拉丁语,塞尔维亚共和国) \nsr-Cyrl=塞尔维亚语(西里尔文) \nsr-Cyrl-ME=塞尔维亚语(西里尔文,黑山共和国) \nsr-Cyrl-RS=塞尔维亚语(西里尔文,塞尔维亚共和国) \nsi=僧伽罗语 \nsi-LK=僧伽罗语(斯里兰卡) \nhsb=上索布语 \nhsb-DE=上索布语(德国) \nnb=书面挪威语 \nnb-NO=书面挪威语(挪威) \nsms=斯科特萨米语 \nsms-FI=斯科特萨米语(芬兰) \nsk=斯洛伐克语 \nsk-SK=斯洛伐克语(斯洛伐克) \nsl=斯洛文尼亚语 \nsl-SI=斯洛文尼亚语(斯洛文尼亚) \nsw=斯瓦希里语 \nsw-KE=斯瓦希里语(肯尼亚) \ngd=苏格兰盖立语 \ngd-GB=苏格兰盖立语(英国) \nxh=索萨语 \nxh-ZA=索萨语(南非) \ntg=塔吉克语 \ntg-Cyrl=塔吉克语(西里尔文) \ntg-Cyrl-TJ=塔吉克语(西里尔文,塔吉克斯坦) \ntzm=塔马塞特语 \ntzm-Latn=塔马塞特语(拉丁语) \ntzm-Latn-DZ=塔马塞特语(拉丁语,阿尔及利亚) \nth=泰国语 \nte=泰卢固语 \nte-IN=泰卢固语(印度) \nta=泰米尔语 \nta-IN=泰米尔语(印度) \nth-TH=泰语(泰国) \ntr=土耳其语 \ntr-TR=土耳其语(土耳其) \ntk=土库曼语 \ntk-TM=土库曼语(土库曼斯坦) \ncy=威尔士语 \ncy-GB=威尔士语(英国) \nug=维吾尔语 \nug-CN=维吾尔语(中国) \nwo=沃洛夫语 \nwo-SN=沃洛夫语(塞内加尔) \nur=乌尔都语 \nur-PK=乌尔都语(巴基斯坦伊斯兰共和国) \nuk=乌克兰语 \nuk-UA=乌克兰语(乌克兰) \nuz=乌兹别克语 \nuz-Latn=乌兹别克语(拉丁语) \nuz-Latn-UZ=乌兹别克语(拉丁语,乌兹别克斯坦) \nuz-Cyrl=乌兹别克语(西里尔文) \nuz-Cyrl-UZ=乌兹别克语(西里尔文,乌兹别克斯坦) \nes=西班牙语 \nes-AR=西班牙语(阿根廷) \nes-PY=西班牙语(巴拉圭) \nes-PA=西班牙语(巴拿马) \nes-PR=西班牙语(波多黎各) \nes-BO=西班牙语(玻利维亚) \nes-DO=西班牙语(多米尼加共和国) \nes-EC=西班牙语(厄瓜多尔) \nes-CO=西班牙语(哥伦比亚) \nes-CR=西班牙语(哥斯达黎加) \nes-HN=西班牙语(洪都拉斯) \nes-US=西班牙语(美国) \nes-PE=西班牙语(秘鲁) \nes-MX=西班牙语(墨西哥) \nes-NI=西班牙语(尼加拉瓜) \nes-SV=西班牙语(萨尔瓦多) \nes-GT=西班牙语(危地马拉) \nes-VE=西班牙语(委内瑞拉玻利瓦尔共和国) \nes-UY=西班牙语(乌拉圭) \nes-ES=西班牙语(西班牙,国际排序) \nes-CL=西班牙语(智利) \nhe=希伯来语 \nhe-IL=希伯来语(以色列) \nel=希腊语 \nel-GR=希腊语(希腊) \ndsb=下索布语 \ndsb-DE=下索布语(德国) \nhu=匈牙利语 \nhu-HU=匈牙利语(匈牙利) \nsyr=叙利亚语 \nsyr-SY=叙利亚语(叙利亚) \nsah=雅库特语 \nsah-RU=雅库特语(俄罗斯) \nhy=亚美尼亚语 \nhy-AM=亚美尼亚语(亚美尼亚) \nig=伊博语 \nig-NG=伊博语(尼日利亚) \nsmn=伊纳里萨米语 \nsmn-FI=伊纳里萨米语(芬兰) \nii=彝语 \nii-CN=彝语(中国) \nit=意大利语 \nit-CH=意大利语(瑞士) \nit-IT=意大利语(意大利) \niu=因纽特语 \niu-Latn=因纽特语(拉丁语) \niu-Latn-CA=因纽特语(拉丁语,加拿大) \niu-Cans=因纽特语(音节) \niu-Cans-CA=因纽特语(音节,加拿大) \nhi=印地语 \nhi-IN=印地语(印度)\nid=印度尼西亚语\nid-ID=印度尼西亚语(印度尼西亚)\nen=英语\nen-IE=英语(爱尔兰)\nen-AU=英语(澳大利亚)\nen-BZ=英语(伯利兹)\nen-PH=英语(菲律宾共和国)\nen-029=英语(加勒比海)\nen-CA=英语(加拿大)\nen-ZW=英语(津巴布韦)\nen-MY=英语(马来西亚)\nen-US=英语(美国)\nen-ZA=英语(南非)\nen-TT=英语(特立尼达和多巴哥)\nen-SG=英语(新加坡)\nen-NZ=英语(新西兰)\nen-JM=英语(牙买加)\nen-IN=英语(印度)\nen-GB=英语(英国)\nyo=约鲁巴语\nyo-NG=约鲁巴语(尼日利亚)\nvi=越南语\nvi-VN=越南语(越南)\nzh=中文\nzh-Hant=中文(繁体)\nzh-MO=中文(繁体,澳门特别行政区)\nzh-TW=中文(繁体,台湾)\nzh-HK=中文(繁体,香港特别行政区)\nzh-CN=中文(简体)\nzh-SG=中文(简体,新加坡)\nzu=祖鲁语\nzu-ZA=祖鲁语(南非)"},Oe=async(e,t,n)=>{const{data:r,token:s,config:a,origin:o,db:i,cache:c,logger:l,response:u}=e;if(!a.wechat)throw"sumorApp.WECHAT_DISABLED";if(s.data.wechatOpenId)u.respond=!0,n.redirect(o+r.source);else{u.respond=!0;const e={appid:a.wechat.key,redirect_uri:`${o}/wx/authCallback`,response_type:"code",scope:"snsapi_base"};r.source&&(e.redirect_uri=e.redirect_uri+`?target=${encodeURIComponent(r.source)}`);const t=`https://open.weixin.qq.com/connect/oauth2/authorize?${(e=>{let t=[];for(let n in e)t.push([n,e[n]].join("="));return t.join("&")})(e)}#wechat_redirect`;l.trace("获取用户微信授权",t),n.redirect(t)}},Ne=n(167),Ie=async(e,t,n)=>{const{data:r,token:s,config:a,origin:o,db:i,cache:c,saveCookie:l,logger:u,response:m}=e;if(!a.wechat)throw"sumorApp.WECHAT_DISABLED";{m.respond=!0;const e=`https://api.weixin.qq.com/sns/oauth2/access_token?${(e=>{let t=[];for(let n in e)t.push([n,e[n]].join("="));return t.join("&")})({appid:a.wechat.key,secret:a.wechat.secret,code:r.code,grant_type:"authorization_code"})}`;u.trace("获取用户微信令牌",e);const t=(await Ne.get(e)).data.openid;await s.setData("wechatOpenId",t),l(),n.redirect(o+r.target)}},ke=async(e,t,n)=>{const{data:r,token:s,config:a,origin:o,db:i,logger:c,response:l,tools:u,wechat:m}=e;if(a.wechat){l.respond=!0;const e=r.id,t={appId:a.wechat.key,timeStamp:Math.round(Date.now()/1e3),nonceStr:u.uuid(),package:`prepay_id=${e}`,signType:"RSA"};t.paySign=m.pay.sign([t.appId,t.timeStamp,t.nonceStr,t.package]),n.end(`\n<html>\n<body>\n<h1 id="message">正在启动微信支付,请稍后。如遇到问题,请稍后重试或联系客服。</h1>\n<script>\nfunction onBridgeReady() {\n WeixinJSBridge.invoke('getBrandWCPayRequest', ${JSON.stringify(t)},\n function(res) {\n if (res.err_msg == "get_brand_wcpay_request:ok") {\n // 使用以上方式判断前端返回,微信团队郑重提示:\n //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。\n \n var divElem = document.getElementById('message'); // 获取指定ID的div元素\n divElem.innerHTML = '支付完成'; // 修改div元素中的内容\n setTimeout(function (){\n var target = '${a.wechat.pay.callback||""}';\n if(target&&target!==""){\n window.location.href = target;\n }else{\n var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\n if(isChrome) {\n window.location.href = 'about:blank';\n window.close();\n } else {\n window.close();\n }\n }\n },1000);\n }\n });\n}\nif (typeof WeixinJSBridge == "undefined") {\n if (document.addEventListener) {\n document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);\n } else if (document.attachEvent) {\n document.attachEvent('WeixinJSBridgeReady', onBridgeReady);\n document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);\n }\n} else {\n onBridgeReady();\n}\n<\/script>\n</body>\n</html>`)}},Re=async e=>{e.disable("x-powered-by"),e.sumor={app:e,root:process.cwd(),tools:p},await(async e=>{const t=(e=>{const t={monitor:{name:"服务健康状态监控",program:async(e,t,n)=>t.sumor.monitor},text:{name:"当前语言环境文本数据",program:async(e,t,n)=>t.sumor.text()},token:{name:"当前授权登录令牌",program:(e,t,n,r)=>{const s=t.sumor.token;if(s.id){const e=s.data?s.data.nickname:"";return{id:s.id,user:s.user,nickname:e,time:s.time,permission:s.permission}}return{}}},logout:{name:"退出登录",program:async(e,t,n,r)=>{const s=t.sumor.token;s.user&&await s.destroy()}},range:{name:"数据输入范围列表",parameters:{name:{name:"数据名称",desc:"帮助数据的名称",required:!0,type:"string"}},program:async(e,t,n)=>{const r=t.sumor.data.name;return t.sumor.range(r)}},meta:{name:"接口信息",program:async(t,n,r)=>({name:e.sumor.name,instance:e.sumor.instance,api:e.sumorRuntime.exposeApis,text:n.sumor.text()})}};let n={};for(let e in t)n[`sumor.${e}`]=t[e];return n["wx.auth"]={name:"微信授权",parameters:{source:{name:"来源地址",required:!0,type:"string"}},program:Oe},n["wx.authCallback"]={name:"微信授权完成回调",parameters:{code:{name:"微信授权码",required:!0,type:"string"},target:{name:"授权完成跳转地址",required:!0,type:"string"}},program:Ie},n["wx.pay"]={name:"微信支付",program:ke},n})(e),r={};for(let e in t)r[e]={name:t[e].name,parameters:t[e].parameters};const s=["text","rule","type","entity","view","api","event"];let a={range:be,text:Te,type:xe,api:r};for(let t of s){let n=t;a[t]=a[t]||{},"api"!==t&&"event"!==t||(n="program");let r=await ve(`${e.sumor.root}/${t}`,n);if("api"===t){let e={};for(let t in r)e[`api.${t}`]=r[t];r=e}if(a[t]=Object.assign(a[t],r),ye[n])for(let e in a[t])a[t][e]=ye[n](a[t][e],a,e)}await g().ensureDir(`${process.cwd()}/tmp`),await g().writeFile(`${process.cwd()}/tmp/meta.json`,JSON.stringify(a,null,4));for(let e in t)a.api[e]=t[e];const o=await ve(`${e.sumor.root}/view`,"view","sql");for(let e in o)a.view[e]=a.api[e]||ye.program({}),a.view[e]=Object.assign(a.view[e],o[e]);const i=`${e.sumor.root}/api`;if(await g().exists(i)){const e=await Ee({condition:"**/**.js",options:{cwd:i}});for(let t of e){const e=`api.${Se(t).path}`,r=`${i}/${t}`;a.api[e]=a.api[e]||{},a.api[e].program=n.g.globalRequire(r)}}const c=`${e.sumor.root}/event`;if(await g().exists(c)){const e=await Ee({condition:"**/**.js",options:{cwd:c}});for(let t of e){const e=Se(t).path,r=`${c}/${t}`;a.event[e]=a.event[e]||{},a.event[e].program=async t=>{t.logger.debug(`正在执行事件${e}`);let s,a=Object.assign({},t);if(t.db||(s=await t.connectDB(),a=Object.assign(a,{db:s})),n.g.globalRequire)try{await n.g.globalRequire(r)(a||t),s&&await s.commit(),t.logger.debug(`事件${e}完成`)}catch(n){s&&await s.rollback(),t.logger.error(`事件${e}执行失败,${n.message}`),t.logger.trace(n)}else t.logger.error(`事件${e}执行失败,该程序不存在`)}}}e.sumor.meta=a})(e),e.sumorRuntime={},e.use(((e,t,n)=>{e.sumor={cors:!1,ip:e.headers["x-forwarded-for"]||"0.0.0.0",tools:p},n()})),await(async e=>{const t=`${e.sumor.root}/config.json`;let n={};if(await g().exists(t))try{n=await g().readJson(t)}catch(e){}const r=await(async e=>{if(await g().exists(e)){const t={key:await g().readFile(`${e}/domain.key`,"utf-8"),cert:await g().readFile(`${e}/domain.cer`,"utf-8")};return await g().exists(`${e}/ca.cer`)&&(t.ca=await g().readFile(`${e}/ca.cer`,"utf-8")),t}})(`${e.sumor.root}/ssl`);let s=n.protocol||"https";"https"!==s||r||(s="http");const a=n.name||"轻呈云应用",o=n.domain||"localhost",i=parseInt(n.port||("http"===s?80:443),10),c="http"===s&&80===i||"https"===s&&443===i?"":`:${i}`,l=n.origin||`${s}://${o}${c}`,u=n.logLevel||"info",m=n.language||"zh-CN";e.sumor={...e.sumor,name:a,ssl:r,protocol:s,domain:o,port:i,origin:l,logLevel:u,language:m,config:n},e.use(((e,t,r)=>{e.sumor={...e.sumor,protocol:s,domain:o,port:i,origin:l,config:JSON.parse(JSON.stringify(n))},r()}))})(e),await(async e=>{const t=`${e.sumor.root}/instance.json`;let n={};if(await g().exists(t))try{n=await g().readJson(t)}catch(e){}e.sumor.instance=JSON.parse(JSON.stringify(n)),e.use(((e,t,r)=>{if(e.sumor.instance=JSON.parse(JSON.stringify(n)),e.sumor.instance){const{server:n,port:r,upTime:s}=e.sumor.instance;t.set("sumor-instance",`${n}_${r}_${s}`)}r()}))})(e),await(async e=>{e.use(((e,t,n)=>{e.sumor.response=new X(e,t),n()}))})(e),await(e=>{e.use(((t,n,r)=>{const s=(t.get("accept-language")||e.sumor.language).split(","),a=s[0];let o=[];for(let e in s)o.push(s[e].split(";")[0]);t.sumor.language=a,t.sumor.languages=o,r()}))})(e),await(async e=>{const t={};for(let n in e.sumor.meta.text){t[n]=t[n]||{},t[n][""]=e.sumor.meta.text[n].origin||{};for(let r in e.sumor.meta.text[n].target)t[n][r]=e.sumor.meta.text[n].target[r]||{}}e.sumor.text=h(t,e.sumor.language),e.use(((e,n,r)=>{e.sumor.text=h(t,e.sumor.language),r()}))})(e),await(async e=>{e.sumor.range=t=>t?e.sumor.meta.range[t]:e.sumor.meta.range,e.use(((t,n,r)=>{t.sumor.range=e.sumor.range,r()}))})(e),await(e=>{e.use(((e,t,n)=>{e.sumor.timezone=e.get("sumor-timezone"),n()}))})(e),await(e=>{E.setProduction(e.sumor.config.production),E.setLevel(e.sumor.config.logLevel),e.sumor.logger=new E("APP"),e.sumor.logger.info(`日志记录级别:${e.sumor.config.logLevel.toUpperCase()}`),e.sumor.getLogger=e=>new E(e),e.use(((e,t,n)=>{const r=++S,s=e=>new E(e,r);e.sumor.getLogger=s,e.sumor.logger=s("PROGRAM");const a=e.sumor.getLogger("HTTP"),o=e.headers["user-agent"]||"unknown agent";a.trace(`${e.method} ${e.originalUrl} IP/${e.sumor.ip} ${o}`),n()}))})(e),await(async e=>{k(),setInterval((()=>{k()}),6e4),e.use(((e,t,n)=>{e.sumor.monitor=JSON.parse(JSON.stringify(N)),n()}))})(e),await(async e=>{const t=`${e.sumor.root}/tmp/uploads`;await g().ensureDir(t);const n=L()({dest:"tmp/uploads/"});e.uploader=e=>{let t;if(e){let r=[];for(let t in e)"file"===e[t].type&&r.push({name:t});r.length>0&&(t=n.fields(r))}return t},e.use(D().urlencoded({extended:!1})),e.use(D().json()),e.use(D().text())})(e),await(e=>{e.use(q()()),e.use(((e,t,n)=>{e.sumor.cookie=JSON.parse(JSON.stringify(e.cookies)),e.sumor.saveCookie=()=>{for(let n in e.cookies)e.sumor.cookie[n]||t.clearCookie(n);for(let n in e.sumor.cookie)e.sumor.cookie[n]!==e.cookies[n]&&t.cookie(n,e.sumor.cookie[n],{maxAge:31536e6,httpOnly:!0})},n()}))})(e),await(async e=>{const t=e.sumor.config.cache||{},n=e.sumor.getLogger("CACHE"),r=await Z(t,n);e.sumor.cache=r(n),e.use((async(e,t,n)=>{const s=e.sumor.getLogger("CACHE");e.sumor.cache=r(s),n()}))})(e),await(async e=>{e.use((async(e,t,n)=>{e.sumor.token=new Y(e),await e.sumor.token.load(),n()}))})(e),await(async e=>{const t=e.sumor.config.database,n=e.sumor.getLogger("DATABASE");await W({config:t,logger:n,entity:e.sumor.meta.entity,view:e.sumor.meta.view});const r=await K({config:t,logger:n});e.sumor.connectDB=async()=>await r.connect(n),e.use((async(e,t,n)=>{const s=e.sumor.getLogger("DATABASE");e.sumor.connectDB=async()=>await r.connect(s),e.sumor.db=await e.sumor.connectDB(),e.sumor.token.user&&e.sumor.db.setUser(e.sumor.token.user),n()}))})(e),await(async e=>{const t=e.sumor.getLogger("STORAGE");e.sumor.storage=new ae(e.sumor.config.storage,t),e.use(((t,n,r)=>{const s=t.sumor.getLogger("STORAGE");t.sumor.storage=new ae(e.sumor.config.storage,s),r()}))})(e),await(async e=>{if(e.sumor.config.sms){const t=e.sumor.getLogger("SMS");e.sumor.sms=new le(e.sumor.config.sms,t)}e.use(((t,n,r)=>{if(e.sumor.config.sms){const n=t.sumor.getLogger("SMS");t.sumor.sms=new le(e.sumor.config.sms,n)}r()}))})(e),await(async e=>{if(e.sumor.config.wechat){const t=e.sumor.getLogger("WECHAT");let n;t.debug("微信服务器正在启动"),n=e.sumor.config.wechat.cache?(await Z(e.sumor.config.wechat.cache,t))(t):e.sumor.cache,t.trace(`微信服务器配置信息 ${JSON.stringify(e.sumor.config.wechat)}`),e.sumor.wechat=new we(e.sumor.config.wechat,n,t),await e.sumor.wechat.init(e),t.debug("微信服务器已启动"),e.use(((t,n,r)=>{const s=t.sumor.getLogger("WECHAT");t.sumor.wechat=new we(e.sumor.config.wechat,s),r()}))}})(e)},De=(e,t,n)=>{const r="/"+e.replace(/\./g,"/"),s=`${t.sumor.root}/tmp/uploads`;let a=t.uploader(t.sumor.meta.api[e].parameters);return a?t.all(r,a,((e,t,n)=>{const r={};if(e.files)for(let t in e.files){const n=[];for(let r in e.files[t])n.push({name:e.files[t][r].originalname,size:e.files[t][r].size,mime:e.files[t][r].mimetype,encoding:e.files[t][r].encoding,path:`${s}/${e.files[t][r].filename}`});r[t]=n}e.sumor.data=Object.assign({},e.query,e.body,r),n()}),n):t.all(r,((e,t,n)=>{e.sumor.data=Object.assign({},e.query,e.body),n()}),n),!!a},Ae=(e,t)=>{for(let n in t.parameters){const r=t.parameters[n];switch(void 0!==r.default&&("string"===r.type?null!==e[n]&&void 0!==e[n]&&""!==e[n]||(e[n]=r.default):null!==e[n]&&void 0!==e[n]||(e[n]=r.default)),r.type){case"string":null!==e[n]&&void 0!==e[n]&&"string"!=typeof e[n]&&(e[n]=e[n].toString());break;case"number":"number"!=typeof e[n]&&null!==e[n]&&void 0!==e[n]&&("string"==typeof e[n]?(e[n]=parseFloat(e[n]),isNaN(e[n])&&(e[n]=null)):delete e[n])}if(e[n]&&(r.trim&&(e[n]=e[n].trim()),r.upperCase&&(e[n]=e[n].toUpperCase()),r.lowerCase&&(e[n]=e[n].toLowerCase())),!0===r.required&&(void 0===e[n]||null===e[n]||""===e[n]))throw new Error("sumorApp.REQUIRED");if(r.length&&e[n]&&e[n].length>r.length){const e=new Error("sumorApp.LENGTH_OUT_OF_LIMIT");throw e.data={length:r.length},e}for(let t of r.rule)if(!new RegExp(t.expression).test(e[n]))throw new Error(t.text)}return e},Le=require("compression");var Ce=n.n(Le);const qe=require("zlib");var Fe=n.n(qe);const Pe=require("serve-static");var je=n.n(Pe),ze=n(525),Me=n.n(ze);const Be=require("http");var He=n.n(Be);const Ue=require("spdy");var Ge=n.n(Ue);const Je=e=>{const t=[];return e.on("connection",(function(e){t.push(e),e.once("close",(function(){t.splice(t.indexOf(e),1)}))})),async()=>await new Promise((n=>{t.forEach((function(e){e.destroy()})),e.close((function(){n()}))}))},Ke=async()=>{const e=t()();await Re(e),e.sumor.logger.trace("前置中间件加载完成"),e.sumor.meta.event.setup&&e.sumor.meta.event.setup.program(e.sumor),e.sumor.meta.event.prepare&&e.sumor.meta.event.prepare.program(e.sumor),await(async e=>{e.sumorRuntime.exposeApis={};const t=Object.keys(e.sumor.meta.api);t.sort(((e,t)=>e>t?1:-1));for(let n of t){const t="/"+n.replace(/\./g,"/"),r=async function(t,r,s){t.sumor.meta=e.sumor.meta,t.sumor.cors=!0,t.sumor.response.changed=!0,e.sumor.meta.event.context&&e.sumor.meta.event.context.program(t.sumor,t,r);try{const s=e.sumor.meta.api[n];t.sumor.data=Ae(t.sumor.data,s);const a=await s.program(t.sumor,t,r);t.sumor.response.data=a||t.sumor.response.data,await t.sumor.db.commit()}catch(n){try{await t.sumor.db.rollback()}catch(e){}t.sumor.response.error(n.message);let r="";n instanceof Error&&(r=e.sumor.text(n.message)),t.sumor.logger.debug(`外部请求出错:${n.message} ${r}`),t.sumor.logger.trace(n)}s()},s=De(n,e,r);e.sumorRuntime.exposeApis[t]={name:e.sumor.meta.api[n].name||"",desc:e.sumor.meta.api[n].desc||"",parameters:e.sumor.meta.api[n].parameters||{}},e.sumor.logger.info(`接口已就绪:${t}${s?" (允许文件上传)":""}`)}e.sumor.logger.info("所有接口已就绪")})(e),e.sumor.logger.trace("处理程序加载完成"),await(async e=>{await(e=>{e.use(((e,t,n)=>{e.sumor.cors&&(t.header("Access-Control-Allow-Origin","*"),t.header("Access-Control-Allow-Headers","X-Requested-With"),t.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS")),n()}))})(e),await(e=>{e.use((async(t,n,r)=>{if(t.files){const n=`${e.sumor.root}/tmp/uploads`;for(let e in t.files)for(let r in t.files[e]){const s=`${n}/${t.files[e][r].filename}`;await g().remove(s)}}r()}))})(e),await(e=>{e.use(((e,t,n)=>{e.sumor.saveCookie(),e.sumor.response.respond?e.sumor.response.end():e.sumor.response.changed?e.sumor.response.send():n()}))})(e),await(async e=>{const t=`${e.sumor.root}/static`,n=`${Me()}/template`;if(e.use(Ce()({filter:function(){return!0},flush:Fe().Z_SYNC_FLUSH})),await g().exists(n)&&e.use(je()(n)),await g().exists(t)&&e.use(je()(t)),await g().exists(t+"/404.html")){const n=await g().readFile(t+"/404.html","utf-8");e.use(((e,t,r)=>{t.set("Content-Type","text/html;charset=utf-8"),t.send(n)}))}else if(await g().exists(t+"/index.html")){const n=await g().readFile(t+"/index.html","utf-8");e.use(((e,t,r)=>{t.set("Content-Type","text/html;charset=utf-8"),t.send(n)}))}})(e)})(e),e.sumor.logger.trace("后置中间件加载完成"),e.sumor.meta.event.serve&&e.sumor.meta.event.serve.program(e.sumor),await(async e=>{if("https"===e.sumor.protocol){let t;if(443===e.sumor.port){const n=He().createServer((function(e,t){let n=`https://${e.headers.host}${e.url}`;t.writeHead(301,{Location:n}),t.end()}));t=await new Promise((e=>{n.listen(80,(()=>{e(Je(n))}))})),e.sumor.logger.info("http服务已启动,访问将跳转至https")}const n=Ge().createServer({...e.sumor.ssl},e);n.on("error",(t=>{e.sumor.logger.error(t,t.stack)}));const r=await new Promise((t=>{n.listen(e.sumor.port,(()=>{t(Je(n))}))}));e.sumor.close=async()=>{e.sumor.logger.info("正在终止网页服务"),t&&await t(),await r(),e.sumor.logger.info("网页服务已停止运行")}}else{const t=He().createServer(e),n=await new Promise((n=>{t.listen(e.sumor.port,(()=>{n(Je(t))}))}));e.sumor.close=async()=>{e.sumor.logger.info("正在终止网页服务"),await n(),e.sumor.logger.info("网页服务已停止运行")}}})(e),e.sumor.meta.event.served&&e.sumor.meta.event.served.program(e.sumor),e.sumor.logger.info(`应用已运行在 ${e.sumor.origin}`)},We=require("commander");var Ze=n.n(We);const Ye=require("child_process"),Xe=async(e,t,n)=>await new Promise(((r,s)=>{const a=(0,Ye.exec)(e,t);let o="",i="";const c=e=>e.toString().replace(/\r\n/g,"\n").replace(/\r/g,"\n");a.stdout.on("data",(async e=>{e=c(e),o+=e,n&&n(e)})),a.stderr.on("data",(async e=>{e=c(e),o+=e,i+=e,n&&n(e)})),a.on("close",(async e=>{0!==e?s(i):r(o)}))})),Qe=async e=>{const t=[],n=(await Xe("git branch -vva",{cwd:e})).split("\n");for(let e in n){const r=n[e].split(" ").filter((e=>""!==e));if(r.length>=3){const e={};"*"===r[0]&&(e.current=!0,r.shift()),e.name=r.shift(),e.commit=r.shift(),e.name.indexOf("remotes/origin")>=0&&(e.remote=!0,e.origin=e.name,e.name=e.origin.replace("remotes/origin/","")),t.push(e)}}return t},Ve=async(e,t)=>await Xe(`git ${t}`,{cwd:e}),et=async(e,t)=>{if(!await g().exists(e)){const{name:n,folder:r}=(e=>{const t=e.split("/");return{name:t.pop(),folder:t.join("/")}})(e);await g().ensureDir(r),await Xe(`git clone ${t} ${n}`,{cwd:r})}await Xe("git config user.name builder",{cwd:e}),await Xe("git config user.email builder@dummy.com",{cwd:e}),(await Qe(e)).filter((e=>"1.0"===e.name))[0]?(await Ve(e,"checkout 1.0"),await Ve(e,"pull")):(await Ve(e,"checkout --orphan 1.0"),await Ve(e,"reset --hard"),await(async e=>{await g().writeFile(e+"/.gitignore","# IDE configuration\n.idea\n\n# generated files\nnode_modules\noutput\ndist\ntmp\n\n# system\n.DS_Store"),await g().writeFile(e+"/README.md","")})(e),await Ve(e,"add . -f"),await Ve(e,'commit -m "初始化"'),await Ve(e,"push -f origin 1.0"))},tt=async(e,t)=>{const n=(await Ve(e,`log ${t} --pretty=format:"%H|%ad|%cd|%D|%s" --date=iso-strict-local`)).split("\n"),r=[];for(let e of n){const t=e.split("|"),n=[];let s="";if(t[3]){const e=t[3].split(",");for(let t of e)t.indexOf("tag")>=0&&n.push(t.replace("tag:","").trim())}t[4]&&(s=t[4]),r.push({id:t[0],authorDate:new Date(t[1]),committerDate:new Date(t[2]),tags:n,subject:s})}return r},nt=e=>Math.round(new Date(e).getTime()),rt=async(e,{url:t,username:n,password:r})=>{if(0===t.indexOf("http")){let s=t.split("/");const a=`${s[0]}//${n}:${r}@${s[2]}/${s.slice(3,s.length).join("/")}`,o=`${process.cwd()}/tmp/version/${e}`;return await et(o,a),await(async e=>{await Ve(e,"fetch");const t=await Qe(e),n=/^\d+\.\d+?$/,r=/^\d+\.\d+\.\d+?$/,s={};for(let a of t)if(a.remote&&n.test(a.name)){await Ve(e,"reset --hard HEAD"),await Ve(e,`checkout ${a.origin}`);let t=await tt(e,a.origin);t=t.reverse();let n=0;for(let e of t){let t=!0;for(let o of e.tags)if(r.test(o)){const r=parseInt(o.split(a.name+".")[1],10);isNaN(r)||(s[o]={id:e.id,name:o,authorDate:nt(e.authorDate),committerDate:nt(e.committerDate),beta:!1},r>=n&&(n=r+1),t=!1)}t&&(s[a.name+"."+n]={id:e.id,name:a.name+"."+n,authorDate:nt(e.authorDate),committerDate:nt(e.committerDate),beta:!0})}}return s})(o)}},st=require("node-ssh");var at=n.n(st);class ot{constructor(e){this.config=e}async connect(){if(!this.connection){this.connection=new(at());try{await this.connection.connect(this.config)}catch(e){throw new Error("服务器SSH连接失败")}}}async disconnect(){this.connection&&(this.connection.dispose(),delete this.connection)}async exec(e,t){await this.connect(),(t=t||{}).cwd=t.cwd||"~";const n=await this.connection.execCommand(e,t);if(0===n.code||1===n.code)return n.stdout;throw new Error(n.stderr)}async install(e){let t=!0;try{await this.exec(`dpkg -s ${e}`)}catch(e){t=!1}if(!t)try{await this.connection.exec("apt-get update"),await this.connection.exec(`apt-get install ${e} -y`)}catch(e){throw new Error(`服务器软件安装失败:${e.message}`)}}async uninstall(e){let t=!0;try{await this.exec(`dpkg -s ${e}`)}catch(e){t=!1}if(t)try{await this.exec(`apt-get --purge remove ${e} -y`)}catch(e){throw new Error(`服务器软件卸载失败:${e.message}`)}}addTool(e,t){this[e]=t(this)}}const it=require("archiver");var ct=n.n(it);const lt=require("extract-zip");var ut=n.n(lt);const mt=()=>a().v4().replace(/-/g,""),pt=new class{normalize(e){let t=ne().normalize(e);return t=t.replace(/\\/g,"/"),t}async tmp(e){e=e||"sumor-utils";let t=this.normalize(`${T().tmpdir()}/${e}/${mt()}`);return await this.ensureDir(t),t}async download(e,t){await this.ensureFile(t);const n=g().createWriteStream(t);return(await me()({source:e,method:"GET",responseType:"stream"})).data.pipe(n),await new Promise(((e,t)=>{n.on("finish",e),n.on("error",t)}))}async find(e,t){return t=t||{},await new Promise((function(n){$e()(e,t,(function(e,t){for(let e in t)t[e]=ne().normalize(t[e]),t[e]=t[e].replace(/\\/g,"/");n(t)}))}))}async zip(e,t,n){return await new Promise((function(r,s){let a=g().createWriteStream(t),o=ct()("zip",{zlib:{level:9}});a.on("close",(function(){r()})),o.pipe(a),o.glob("**",{cwd:e,dot:!0,ignore:n||[]}),o.finalize()}))}async unzip(e,t){return e=ne().normalize(e),await new Promise((function(n,r){ut()(e,{dir:t},(function(e){e?r(e):n()}))}))}async exists(e){return await new Promise((function(t){g().access(e,(function(e){t(!e)}))}))}async isDirectory(e){return(await this.info(e)).isDirectory()}async info(e){return await new Promise((function(t,n){g().open(e,"a",(function(e,r){e&&n(e),g().fstat(r,(function(e,s){e&&n(e),g().close(r,(function(){t(s)}))}))}))}))}async move(e,t){await g().move(e,t)}async remove(e){await g().remove(e)}async ensureFile(e){await g().ensureFile(e)}async ensureDir(e){await g().ensureDir(e)}async copy(e,t,n){await g().copy(e,t,n)}async writeFile(e,t){return await this.ensureFile(e),await new Promise(((n,r)=>{g().writeFile(e,t,(e=>{e?r(e):n()}))}))}async appendFile(e,t){return await this.ensureFile(e),await new Promise(((n,r)=>{g().appendFile(e,t,(e=>{e?r(e):n()}))}))}async readFile(e,t){if(await this.exists(e))return await new Promise((function(n){g().readFile(e,t,((e,t)=>{if(e)throw e;n(t)}))}))}async readJson(e){return await this.exists(e)?await g().readJson(e):null}async writeJson(e,t){return await this.ensureFile(e),await g().writeJson(e,t)}};pt.exist=pt.exists,pt.readJSON=pt.readJson,pt.writeJSON=pt.writeJson,pt.delete=pt.remove;const dt=pt,gt=e=>({async tmp(e){e=e||"sumor-utils";const t=dt.normalize(`/tmp/${e}/${mt()}`);return await this.ensureDir(t),t},async ensureDir(t){await e.exec(`mkdir -p ${t}`)},async exists(t){const n=(t=dt.normalize(t)).split("/"),r=n.pop();t=n.join("/");let s=!1;try{let n=await e.exec(`ls ${t}`);n=n.split("\n"),s=n.indexOf(r)>=0}catch(e){}return s},async remove(t){await e.exec(`rm -rf ${t}`)},async delete(t){await e.exec(`rm -rf ${t}`)},async putFolder(e,t){const n=await dt.tmp("sumor-utils-ssh"),r=`${n}/tmp.zip`,s=await this.tmp("sumor-utils-ssh"),a=`${s}/tmp.zip`;await dt.zip(e,r),await this.putFile(r,a),await this.ensureDir(t),await this.unzip(a,t),await this.delete(s),await dt.delete(n)},async getFolder(e,t){const n=await dt.tmp("sumor-utils-ssh"),r=`${n}/tmp.zip`,s=await this.tmp("sumor-utils-ssh"),a=`${s}/tmp.zip`;await this.zip(e,a),await this.getFile(a,r),await dt.unzip(r,t),await this.delete(s),await dt.delete(n)},putFile:async(t,n)=>(await e.connect(),await e.connection.putFile(t,n)),async writeFile(e,t){const n=await dt.tmp("sumor-utils-ssh"),r=`${n}/tmpfile`;await dt.ensureFile(r),await dt.writeFile(r,t),await this.putFile(r,e),await dt.delete(n)},async readFile(e,t){const n=await dt.tmp("sumor-utils-ssh"),r=`${n}/tmpfile`;await this.getFile(e,r);const s=await dt.readFile(r,t);return await dt.delete(n),s},getFile:async(t,n)=>(await e.connect(),await e.connection.getFile(n,t)),async zip(t,n){await e.install("zip"),await e.exec(`cd ${t};zip -q -r ${n} ./*`)},async unzip(t,n){await e.install("unzip"),await e.exec(`unzip -o ${t} -d ${n}`)},async info(t){if(await this.exists(t)){const n=(await e.exec(`stat ${t} -c "%X|%Y|%Z"`)).split("|"),r={};return n[0]&&(r.access=parseInt(n[0],10)),n[1]&&(r.modify=parseInt(n[1],10)),n[2]&&(r.change=parseInt(n[2],10)),r}}}),ht=e=>({async isOccupied(t){let n=!0;try{""===await e.exec(`lsof -i:${t}`)&&(n=!1)}catch(e){console.log(e)}return n},async getPort(e){if(e?e++:e=1,e>10)throw new Error("服务器端口获取失败");const t=3e4+Math.floor(1e4*Math.random());return await this.isOccupied(t)?await this.getPort(e):t}}),wt=e=>({execCommand:async t=>(await e.install("docker.io"),await e.exec(t)),async remove(e){try{await this.execCommand(`docker rm -f ${e}`)}catch(e){if(e.message.indexOf("No such container")<0)throw e}},async delete(e){try{await this.execCommand(`docker rm -f ${e}`)}catch(e){if(e.message.indexOf("No such container")<0)throw e}},async run({mode:e,image:t,name:n,folder:r,port:s}){r=r||[],s=s||[];const a=["docker","run"];a.push("-itd");for(let e in r)a.push(`-v ${r[e].from}:${r[e].to}${r[e].readOnly?":ro":""}`);for(let e in s)a.push(`-p ${s[e].from}:${s[e].to}`);return n&&a.push(`--name ${n}`),t&&a.push(`-d ${t}`),a.push(e||"/bin/bash"),await this.execCommand(a.join(" "))},async exec(e,t,n){n=n||{},t=JSON.stringify(t);let r="";return n.interaction?r="-it":n.background&&(r="-itd"),await this.execCommand(`docker exec ${r} ${e} sh -c ${t}`,{options:{pty:!0}})},async export(e,t){await this.execCommand(`docker export ${e} > ${t}`)},async ip(e){return await this.execCommand(`docker inspect --format='{{.NetworkSettings.Gateway}}' ${e}`)},async import({path:e,name:t,version:n}){const r=`${t}:${n}`;if((await this.images()).filter((e=>e.Repository===t&&e.Tag===n))[0])throw new Error(`镜像已存在,如需删除请手工执行命令:docker rmi ${r}`);await this.execCommand(`cat ${e} | docker import - ${r}`)},async images(){return await this._checkInfo("docker images",["Repository","Tag","Size"])},async instances(){const e=await this._checkInfo("docker ps -a",["Names","CreatedAt","Status","Ports","Size"]);for(let t in e){e[t].instanceId=e[t].Names;const n=e[t].CreatedAt.split(" ");n.pop(),e[t].createdTime=new Date(n.join(" "))}return e},async instance(e){return(await this.instances()).filter((t=>t.instanceId===e))[0]},async _checkInfo(e,t){let n=[];for(let e in t)n.push(`{{.${t[e]}}}`);const r=await this.execCommand(`${e} --format "${n.join("|")}"`);let s=[];if(""!==r){let e=r.split("\n");for(let n in e){const r=e[n].split("|"),a={};for(let e=0;e<t.length;e++)a[t[e]]=r[e];s.push(a)}}return s}}),ft=e=>({async install(t){await e.exec(`npm i -g ${t}`)},async start(t,n){try{await e.install("nodejs"),await e.install("npm")}catch(e){console.log(e)}let r=!0;try{await e.exec("pm2 -v")}catch(e){r=!1}r||await e.node.install("pm2"),await e.exec("npm i",{cwd:ne().dirname(n)});try{await e.exec(`pm2 start ${n} --name ${t}`)}catch(n){await e.exec(`pm2 restart ${t}`)}},async stop(t){await e.exec(`pm2 stop ${t}`),await e.exec(`pm2 delete ${t}`)},logs:async t=>await e.exec(`pm2 logs --nostream --lines 1000 ${t}`)}),yt=e=>{const t=new ot(e);return t.addTool("file",gt),t.addTool("port",ht),t.addTool("docker",wt),t.addTool("node",ft),t},_t=async(e,t)=>{await Ve(e,"clean -df"),await Ve(e,`checkout ${t}`)},$t=async({server:e,app:t,env:n,git:r,version:s,domain:a})=>{let o=r.url.split("/");const i=`${o[0]}//${r.username}:${r.password}@${o[2]}/${o.slice(3,o.length).join("/")}`,c=`${process.cwd()}/tmp/build/${t}/${s.name}`,l=`${c}.zip`;if(!await g().exists(l)){console.log(`正在构建源代码到${l}`),await g().ensureDir(`${process.cwd()}/tmp/build`);try{await et(c,i),await _t(c,s.id),await Xe("npm run build",{cwd:c}),await g().remove(c+"/web"),await dt.zip(c,l),await g().remove(c)}catch(e){console.log(e)}}const u=`${process.cwd()}/tmp/env/${t}/${s.name}/${n}`;if(!await g().exists(u)){console.log(`正在配置环境相关代码到${u}`),await dt.unzip(l,u);const e=`${process.cwd()}/assets/${t}/${n}`;await g().exists(e)&&await g().copy(e,u)}const m=yt(e),p=await m.port.getPort(),d=`/usr/sumor-cloud/app/${t}_${n}_${s.name}_${p}`,h=`/tmp/sumor-cloud/log/${t}_${n}`,w=`main_${Date.now()}_${s.name}_${e.name}_${p}.log`;console.log(`正在配置实例代码到${d}`),await m.file.remove(d),await m.file.putFolder(u,d),await m.file.ensureDir(h);const f={app:t,env:n,version:s.name,server:e.name,port:p,upTime:Date.now(),versionTime:s.committerDate},y=`sumor_app_${t}_${n}_${s.name}_${p}`;return console.log(`正在部署实例到容器${y}`),await m.docker.run({image:"node",name:y,folder:[{from:`/usr/sumor-cloud/ssl/${a}`,to:"/usr/sumor/runtime/ssl",readOnly:!0},{from:d,to:"/usr/sumor/source"},{from:h,to:"/tmp/log"}],port:[{from:p,to:443}]}),await m.docker.exec(y,"cp -ra /usr/sumor/source/. /usr/sumor/runtime"),await m.docker.exec(y,`echo '${JSON.stringify(f)}' > /usr/sumor/runtime/instance.json`),console.log("正在安装实例依赖库"),await m.docker.exec(y,"cd /usr/sumor/runtime;npm i"),await m.docker.exec(y,`cd /usr/sumor/runtime;npm run start > /tmp/log/${w} 2>&1;`,{background:!0}),await m.disconnect(),y},Et=e=>{const t=e.split("_");t.shift();const n=t.shift(),r=t.shift(),s=t.shift();let a,o,i;t.length>1?(o=t.shift(),a=parseInt(t.shift())):i=t.shift();let c={type:n,app:r,env:s,port:a,version:o,action:i};for(let e in c)c[e]||delete c[e];return c},St=e=>{let t=typeof e;if(null===e)t="null";else if("object"===t){const n=Object.prototype.toString.call(e);"[object Array]"===n?t="array":"[object RegExp]"===n&&(t="regexp")}return t},vt=(e,t)=>("array"===St(t)&&(t=t.join(" ")),`${e} ${t};`),Tt=e=>{let t=[];for(let n in e)t.push(vt(n,e[n]));return t},xt=e=>{const t=[];for(let n in e)if("array"===St(e[n]))for(let r in e[n])t.push(e[n][r]);else t.push(e[n]);return t},bt=(e,t)=>(t=xt(t),xt([`${e} {`,t.map((e=>`\t${e}`)),"}"])),Ot=e=>{let t;return t=e.instances.length>0?Tt({"proxy_set_header Host":"$host","proxy_set_header X-Real-IP":"$remote_addr","proxy_set_header X-Forwarded-For":"$remote_addr",proxy_pass:`https://${e.name}_stream`}):Tt({root:"/etc/nginx/pages",index:"no_instance.html"}),bt("server",[Tt({listen:e.port+" ssl",server_name:e.domain,access_log:`/tmp/${e.name}_access.log`,error_log:`/tmp/${e.name}_error.log`,ssl_certificate:`ssl/${e.domain}/domain.cer`,ssl_certificate_key:`ssl/${e.domain}/domain.key`,ssl_client_certificate:`ssl/${e.domain}/ca.cer`,ssl_session_timeout:"5m",ssl_ciphers:"ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4",ssl_protocols:"TLSv1 TLSv1.1 TLSv1.2",ssl_prefer_server_ciphers:"on"}),bt("location /",[t])])},Nt=(e,t)=>{(t=t||{}).user=t.user||"root";const n=[];for(let t of e)t.port=t.port||443,t.instances.length>0&&n.push((r=t.name,s=t.instances,bt(`upstream ${r}_stream`,s.map((e=>{const t=["server"];return t.push(e.url),e.down?t.push("down"):e.backup?t.push("backup"):(e.weight&&!isNaN(e.weight)&&t.push(`weight=${e.weight}`),e.try&&!isNaN(e.try)&&(t.push(`max_fails=${e.try}`),e.wait&&!isNaN(e.wait)&&t.push(`fail_timeout=${e.wait}s`))),t.join(" ")+";"}))))),n.push(Ot(t));var r,s;return xt([Tt({user:t.user,worker_processes:1}),bt("events",["worker_connections 1024;"]),bt("http",[vt("proxy_connect_timeout","600s"),vt("proxy_send_timeout","600s"),vt("proxy_read_timeout","600s"),vt("server_tokens","off"),vt("client_max_body_size","10m"),bt("server",["listen 80 default_server;","server_name _;","return 301 https://$host$request_uri;"]),xt(n)])]).join("\n")},It=async(e,t,n,r)=>{const s={};for(let r in e.env)for(let a in e.env[r]){const{domain:o,entry:i}=e.env[r][a];s[i]=s[i]||{},s[i][o]=[];const c=(t[r]||{})[a]||{};let l;for(let e in c)(c[e]||{}).live&&(l=e);for(let t in n){const c=e.server[t],u=n[t].map((e=>Et(e))).filter((e=>e.app===a&&e.env===r&&e.version===l));for(let e of u)s[i][o].push(`${c.iHost||c.host}:${e.port}`)}}for(let t in s){const n=[443,80],a=[];for(let e in s[t]){const n={name:e.replace(".","_"),port:443,domain:e,instances:s[t][e].map((e=>({url:e})))};a.push(n)}const o=Nt(a),i=yt(e.server[t]),c="/usr/sumor-cloud/site";await i.file.ensureDir(c),await i.file.ensureDir(c+"/pages"),await i.file.writeFile(`${c}/nginx.conf`,o);const{noInstancePage:l}={noInstancePage:'<html>\n<head>\n<head>\n<meta charset="UTF-8" />\n<meta name="viewport" content="width=device-width, initial-scale=1.0" />\n<title>应用异常</title>\n</head>\n</head>\n<body>\n<h1>应用暂时无法访问</h1><h3>实例未上线</h3></body>\n</html>'};await i.file.writeFile(`${c}/pages/no_instance.html`,l);const u="sumor_site";if(r&&await i.docker.delete(u),!(await i.docker.instances()).filter((e=>e.instanceId===u))[0]){const e="/usr/sumor-cloud/ssl";await i.file.ensureDir(e),console.log("正在站点实例初始化"),await i.docker.run({image:"nginx",name:u,folder:[{from:`${c}/nginx.conf`,to:"/etc/nginx/nginx.conf"},{from:`${c}/pages`,to:"/etc/nginx/pages"},{from:e,to:"/etc/nginx/ssl"},{from:"/tmp/sumor-cloud/site",to:"/tmp"},{from:"/tmp/sumor-cloud/site-nginx",to:"/var/log/nginx"}],port:n.map((e=>({from:e,to:e})))})}await i.docker.exec(u,"nginx -s stop"),await i.docker.exec(u,"nginx -c /etc/nginx/nginx.conf"),await i.disconnect()}},kt=async(e,t)=>{const n=yt(e);await n.docker.delete(t),await n.disconnect()},Rt=async(e,t,n)=>{const r=yt(e);await r.file.putFolder(n,`/usr/sumor-cloud/ssl/${t}`),await r.disconnect()},Dt=n(147);function At(e,t){return new Promise(((n,r)=>{const s=Dt.createReadStream(e),a=Dt.createWriteStream(t,{flags:"a"});a.on("finish",(()=>{n()})),a.on("error",(e=>{console.error(e),r(e)})),s.pipe(a)}))}const Lt={serve:Ke,cli:()=>{let e=de().readFileSync(Me()+"/package.json","utf-8");e=JSON.parse(e),console.log(`当前使用的轻呈云应用库位于${Me()}`),Ze().program.name(e.name).version(e.version||"0.0.0","-v, --version"),Ze().program.command("run").description("运行应用").action((async e=>{await Ke()})),Ze().program.command("deploy").description("部署").action((async e=>{await(async()=>{try{const e=Date.now();console.log("正在启动部署");const t=await g().readJson(process.cwd()+"/scope.json"),n=await g().readJson(process.cwd()+"/scale.json");for(let e in t.server)t.server[e].name=e;for(let e in t.env)for(let n in t.env[e]){const{domain:r,entry:s}=t.env[e][n],a=`${process.cwd()}/assets/ssl/${r}`;a&&t.server[s]&&(console.log(`更新${r}域名证书到${s}服务器`),await Rt(t.server[s],r,a))}let r={};for(let e in t.source){console.log(`应用${e}正在检查应用版本`),r[e]=await rt(e,t.source[e]),console.log("应用版本列表");for(let t in r[e])console.log(`- ${t}${r[e][t].beta?" 测试版":""}`);console.log(`应用${e}检查应用版本完成`)}let s=await(async e=>{let t={};for(let n in e.server){const r=yt(e.server[n]);let s=await r.docker.instances();s=s.filter((e=>0===e.instanceId.indexOf("sumor_app"))),t[n]=s.map((e=>e.instanceId)),await r.disconnect()}return t})(t);for(let e in s){console.log(`服务器${e}现存实例列表`);for(let t in s[e])console.log(`- ${s[e][t]}`)}const a={};await g().remove(process.cwd()+"/tmp/env");for(let e in t.env){const o=t.env[e];for(let i in o){const{domain:c}=o[i],l=(n[e]||{})[i]||{};let u;for(let e in l)(l[e]||{}).live&&(u=e);const m=Object.keys(l);for(let r in t.server){const a=s[r].filter((t=>{const n=t.split("_")[4];return 0===t.indexOf(`sumor_app_${i}_${e}`)&&m.indexOf(n)<0}));if(a.length>0){console.log(`正在清除${e}环境应用${i}在服务器${r}中的过期实例`),s[r]=s[r].filter((e=>a.indexOf(e)<0)),await It(t,n,s);for(let e of a)console.log(`清除实例${e}`),await kt(t.server[r],e)}}console.log(`正在部署${e}环境应用${i},上线版本:${u||"无"}`);for(let o in l){const u=l[o]||{};for(let l in u.instance){const m=u.instance[l];console.log(`计划部署${o}版本${m}个实例到${l}服务器`);const p=s[l].filter((t=>0===t.indexOf(`sumor_app_${i}_${e}_${o}`))),d=p.length;if(d<m){const u=m-d;console.log(`当前实例个数:${d},需要扩容${u}个`);for(let m=0;m<u;m++){console.log(`正在扩容第${m+1}个`);const u=r[i][o];if(u.beta&&!a[u.name]){const e=`${process.cwd()}/tmp/build/${i}/${u.name}.zip`;await g().remove(e),a[u.name]=!0}const p=await $t({server:t.server[l],app:i,env:e,git:t.source[i],version:u,domain:c});s[l].unshift(p),await It(t,n,s)}console.log(`扩容${u}个完成`)}else if(d>m){const e=d-m;console.log(`当前实例个数:${d},需要缩减${e}个`);const r=p.slice(m,d);s[l]=s[l].filter((e=>r.indexOf(e)<0)),await It(t,n,s);for(let e of r)await kt(t.server[l],e);console.log(`缩减${e}个完成`)}else console.log("实例数量已符合计划,无需修改")}}console.log(`部署${e}环境应用${i}完成`)}}await It(t,n,s),console.log(`所有应用已完成部署 ${Date.now()-e}ms`)}catch(e){console.log(e)}})()})),Ze().program.command("log [app] [env]").description("查看日志").action((async(e,t,n)=>{await(async(e,t)=>{console.log(`正在打印${e}应用${t}环境的日志`);const n=await g().readJson(process.cwd()+"/scope.json"),r=`/tmp/sumor-cloud/log/${e}_${t}`,s=`${process.cwd()}/tmp/log/${e}_${t}`;await g().ensureDir(s);for(let e in n.server){const t=yt(n.server[e]);await t.file.exists(r)&&await t.file.getFolder(r,s),await t.disconnect()}let a=await dt.find("**",{cwd:s});a.sort(),await g().remove(`${s}.log`),await g().ensureFile(`${s}.log`);for(let e of a)await At(`${s}/${e}`,`${s}.log`)})(e,t)})),Ze().program.parse(process.argv)}}})(),r.default})()));
1
+ !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var r=o();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,(()=>(()=>{"use strict";var e={n:o=>{var r=o&&o.__esModule?()=>o.default:()=>o;return e.d(r,{a:r}),r},d:(o,r)=>{for(var n in r)e.o(r,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:r[n]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o)},o={};e.d(o,{default:()=>f});const r=require("commander");var n=e.n(r);const t=require("fs-extra");var s=e.n(t);const a=require("@sumor-cloud/builder");var c=e.n(a);const i=__dirname,d=process.cwd(),f={cli:e=>{const o=s().readJson(i+"/package.json");console.log(`当前使用的轻呈云部署库位于${i}`),console.log(`当前使用的轻呈云工作目录位于${d}`),n().program.name("sumor").version(o.version||"0.0.0","-v, --version"),c().cli(n()),n().program.parse(process.argv)}};return o.default})()));
package/package.json CHANGED
@@ -1,39 +1 @@
1
- {
2
- "name": "sumor",
3
- "version": "1.0.2",
4
- "description": "Sumor Cloud Application",
5
- "homepage": "https://www.sumor.com",
6
- "author": "Sumor Cloud (https://www.sumor.com)",
7
- "license": "MIT",
8
- "bin": {
9
- "sumor": "cli.js"
10
- },
11
- "dependencies": {
12
- "@alicloud/sms-sdk": "^1.1.6",
13
- "ali-oss": "6.1.1",
14
- "axios": "^1.3.2",
15
- "better-sqlite3": "^8.0.1",
16
- "body-parser": "^1.20.1",
17
- "compression": "^1.7.4",
18
- "cookie-parser": "^1.4.6",
19
- "express": "^4.18.2",
20
- "fs-extra": "^11.1.0",
21
- "knex": "^2.1.0",
22
- "chalk": "^4.1.2",
23
- "multer": "^1.4.2",
24
- "mysql2": "^3.1.0",
25
- "redis": "^4.6.4",
26
- "serve-static": "^1.14.1",
27
- "spdy": "^4.0.2",
28
- "uuid": "^3.3.2",
29
- "glob": "^7.1.2",
30
- "archiver": "^2.1.1",
31
- "commander": "^9.4.0",
32
- "extract-zip": "^1.6.6",
33
- "node-ssh": "^6.0.0",
34
- "os-utils": "0.0.14",
35
- "dayjs": "^1.11.1",
36
- "vue": "^3.2.37",
37
- "jsrsasign": "^10.8.6"
38
- }
39
- }
1
+ {"name":"sumor","description":"Sumor Command Line Tool.","homepage":"https://www.sumor.com","license":"MIT","bin":{"sumor":"cli.js"},"dependencies":{"@sumor-cloud/builder":"^1.1.10","commander":"^9.4.0","fs-extra":"^11.1.1"},"version":"1.1.0"}
@@ -1 +0,0 @@
1
- //!这里指定 私钥 pem!
Binary file
@@ -1 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();function Mn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}function Pn(e){if(k(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=Q(s)?Nr(s):Pn(s);if(r)for(const o in r)t[o]=r[o]}return t}else{if(Q(e))return e;if(z(e))return e}}const Pr=/;(?![^(]*\))/g,Lr=/:([^]+)/,Rr=/\/\*.*?\*\//gs;function Nr(e){const t={};return e.replace(Rr,"").split(Pr).forEach(n=>{if(n){const s=n.split(Lr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function me(e){let t="";if(Q(e))t=e;else if(k(e))for(let n=0;n<e.length;n++){const s=me(e[n]);s&&(t+=s+" ")}else if(z(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Sr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Br=Mn(Sr);function Ns(e){return!!e||e===""}const se=e=>Q(e)?e:e==null?"":k(e)||z(e)&&(e.toString===js||!F(e.toString))?JSON.stringify(e,Ss,2):String(e),Ss=(e,t)=>t&&t.__v_isRef?Ss(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Bs(t)?{[`Set(${t.size})`]:[...t.values()]}:z(t)&&!k(t)&&!Us(t)?String(t):t,W={},it=[],Ce=()=>{},Hr=()=>!1,jr=/^on[^a-z]/,zt=e=>jr.test(e),Ln=e=>e.startsWith("onUpdate:"),ie=Object.assign,Rn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ur=Object.prototype.hasOwnProperty,N=(e,t)=>Ur.call(e,t),k=Array.isArray,lt=e=>Vt(e)==="[object Map]",Bs=e=>Vt(e)==="[object Set]",F=e=>typeof e=="function",Q=e=>typeof e=="string",Nn=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",Hs=e=>z(e)&&F(e.then)&&F(e.catch),js=Object.prototype.toString,Vt=e=>js.call(e),Dr=e=>Vt(e).slice(8,-1),Us=e=>Vt(e)==="[object Object]",Sn=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rt=Mn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Kr=/-(\w)/g,Me=qt(e=>e.replace(Kr,(t,n)=>n?n.toUpperCase():"")),$r=/\B([A-Z])/g,at=qt(e=>e.replace($r,"-$1").toLowerCase()),Jt=qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),cn=qt(e=>e?`on${Jt(e)}`:""),jt=(e,t)=>!Object.is(e,t),Nt=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Ut=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Dt=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ns;const Wr=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Ae;class zr{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Ae,!t&&Ae&&(this.index=(Ae.scopes||(Ae.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Ae;try{return Ae=this,t()}finally{Ae=n}}}on(){Ae=this}off(){Ae=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this.active=!1}}}function Vr(e,t=Ae){t&&t.active&&t.effects.push(e)}const Bn=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Ds=e=>(e.w&Ke)>0,Ks=e=>(e.n&Ke)>0,qr=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Ke},Jr=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Ds(r)&&!Ks(r)?r.delete(e):t[n++]=r,r.w&=~Ke,r.n&=~Ke}t.length=n}},_n=new WeakMap;let _t=0,Ke=1;const mn=30;let xe;const et=Symbol(""),bn=Symbol("");class Hn{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,Vr(this,s)}run(){if(!this.active)return this.fn();let t=xe,n=Ue;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=xe,xe=this,Ue=!0,Ke=1<<++_t,_t<=mn?qr(this):ss(this),this.fn()}finally{_t<=mn&&Jr(this),Ke=1<<--_t,xe=this.parent,Ue=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){xe===this?this.deferStop=!0:this.active&&(ss(this),this.onStop&&this.onStop(),this.active=!1)}}function ss(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let Ue=!0;const $s=[];function dt(){$s.push(Ue),Ue=!1}function ht(){const e=$s.pop();Ue=e===void 0?!0:e}function pe(e,t,n){if(Ue&&xe){let s=_n.get(e);s||_n.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Bn()),Ws(r)}}function Ws(e,t){let n=!1;_t<=mn?Ks(e)||(e.n|=Ke,n=!Ds(e)):n=!e.has(xe),n&&(e.add(xe),xe.deps.push(e))}function Ne(e,t,n,s,r,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&k(e)){const f=Dt(s);i.forEach((a,g)=>{(g==="length"||g>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":k(e)?Sn(n)&&l.push(i.get("length")):(l.push(i.get(et)),lt(e)&&l.push(i.get(bn)));break;case"delete":k(e)||(l.push(i.get(et)),lt(e)&&l.push(i.get(bn)));break;case"set":lt(e)&&l.push(i.get(et));break}if(l.length===1)l[0]&&yn(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);yn(Bn(f))}}function yn(e,t){const n=k(e)?e:[...e];for(const s of n)s.computed&&rs(s);for(const s of n)s.computed||rs(s)}function rs(e,t){(e!==xe||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Yr=Mn("__proto__,__v_isRef,__isVue"),zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nn)),Xr=jn(),Zr=jn(!1,!0),Qr=jn(!0),os=Gr();function Gr(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=H(this);for(let o=0,i=this.length;o<i;o++)pe(s,"get",o+"");const r=s[t](...n);return r===-1||r===!1?s[t](...n.map(H)):r}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){dt();const s=H(this)[t].apply(this,n);return ht(),s}}),e}function jn(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?_o:Xs:t?Ys:Js).get(s))return s;const i=k(s);if(!e&&i&&N(os,r))return Reflect.get(os,r,o);const l=Reflect.get(s,r,o);return(Nn(r)?zs.has(r):Yr(r))||(e||pe(s,"get",r),t)?l:fe(l)?i&&Sn(r)?l:l.value:z(l)?e?Zs(l):Xt(l):l}}const eo=Vs(),to=Vs(!0);function Vs(e=!1){return function(n,s,r,o){let i=n[s];if(xt(i)&&fe(i)&&!fe(r))return!1;if(!e&&(!xn(r)&&!xt(r)&&(i=H(i),r=H(r)),!k(n)&&fe(i)&&!fe(r)))return i.value=r,!0;const l=k(n)&&Sn(s)?Number(s)<n.length:N(n,s),f=Reflect.set(n,s,r,o);return n===H(o)&&(l?jt(r,i)&&Ne(n,"set",s,r):Ne(n,"add",s,r)),f}}function no(e,t){const n=N(e,t);e[t];const s=Reflect.deleteProperty(e,t);return s&&n&&Ne(e,"delete",t,void 0),s}function so(e,t){const n=Reflect.has(e,t);return(!Nn(t)||!zs.has(t))&&pe(e,"has",t),n}function ro(e){return pe(e,"iterate",k(e)?"length":et),Reflect.ownKeys(e)}const qs={get:Xr,set:eo,deleteProperty:no,has:so,ownKeys:ro},oo={get:Qr,set(e,t){return!0},deleteProperty(e,t){return!0}},io=ie({},qs,{get:Zr,set:to}),Un=e=>e,Yt=e=>Reflect.getPrototypeOf(e);function At(e,t,n=!1,s=!1){e=e.__v_raw;const r=H(e),o=H(t);n||(t!==o&&pe(r,"get",t),pe(r,"get",o));const{has:i}=Yt(r),l=s?Un:n?Wn:$n;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function kt(e,t=!1){const n=this.__v_raw,s=H(n),r=H(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Ft(e,t=!1){return e=e.__v_raw,!t&&pe(H(e),"iterate",et),Reflect.get(e,"size",e)}function is(e){e=H(e);const t=H(this);return Yt(t).has.call(t,e)||(t.add(e),Ne(t,"add",e,e)),this}function ls(e,t){t=H(t);const n=H(this),{has:s,get:r}=Yt(n);let o=s.call(n,e);o||(e=H(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?jt(t,i)&&Ne(n,"set",e,t):Ne(n,"add",e,t),this}function cs(e){const t=H(this),{has:n,get:s}=Yt(t);let r=n.call(t,e);r||(e=H(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ne(t,"delete",e,void 0),o}function fs(){const e=H(this),t=e.size!==0,n=e.clear();return t&&Ne(e,"clear",void 0,void 0),n}function Mt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=H(i),f=t?Un:e?Wn:$n;return!e&&pe(l,"iterate",et),i.forEach((a,g)=>s.call(r,f(a),f(g),o))}}function Pt(e,t,n){return function(...s){const r=this.__v_raw,o=H(r),i=lt(o),l=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,a=r[e](...s),g=n?Un:t?Wn:$n;return!t&&pe(o,"iterate",f?bn:et),{next(){const{value:x,done:C}=a.next();return C?{value:x,done:C}:{value:l?[g(x[0]),g(x[1])]:g(x),done:C}},[Symbol.iterator](){return this}}}}function He(e){return function(...t){return e==="delete"?!1:this}}function lo(){const e={get(o){return At(this,o)},get size(){return Ft(this)},has:kt,add:is,set:ls,delete:cs,clear:fs,forEach:Mt(!1,!1)},t={get(o){return At(this,o,!1,!0)},get size(){return Ft(this)},has:kt,add:is,set:ls,delete:cs,clear:fs,forEach:Mt(!1,!0)},n={get(o){return At(this,o,!0)},get size(){return Ft(this,!0)},has(o){return kt.call(this,o,!0)},add:He("add"),set:He("set"),delete:He("delete"),clear:He("clear"),forEach:Mt(!0,!1)},s={get(o){return At(this,o,!0,!0)},get size(){return Ft(this,!0)},has(o){return kt.call(this,o,!0)},add:He("add"),set:He("set"),delete:He("delete"),clear:He("clear"),forEach:Mt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Pt(o,!1,!1),n[o]=Pt(o,!0,!1),t[o]=Pt(o,!1,!0),s[o]=Pt(o,!0,!0)}),[e,n,t,s]}const[co,fo,uo,ao]=lo();function Dn(e,t){const n=t?e?ao:uo:e?fo:co;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(N(n,r)&&r in s?n:s,r,o)}const ho={get:Dn(!1,!1)},po={get:Dn(!1,!0)},go={get:Dn(!0,!1)},Js=new WeakMap,Ys=new WeakMap,Xs=new WeakMap,_o=new WeakMap;function mo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function bo(e){return e.__v_skip||!Object.isExtensible(e)?0:mo(Dr(e))}function Xt(e){return xt(e)?e:Kn(e,!1,qs,ho,Js)}function yo(e){return Kn(e,!1,io,po,Ys)}function Zs(e){return Kn(e,!0,oo,go,Xs)}function Kn(e,t,n,s,r){if(!z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=bo(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function ct(e){return xt(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function xt(e){return!!(e&&e.__v_isReadonly)}function xn(e){return!!(e&&e.__v_isShallow)}function Qs(e){return ct(e)||xt(e)}function H(e){const t=e&&e.__v_raw;return t?H(t):e}function Gs(e){return Ut(e,"__v_skip",!0),e}const $n=e=>z(e)?Xt(e):e,Wn=e=>z(e)?Zs(e):e;function xo(e){Ue&&xe&&(e=H(e),Ws(e.dep||(e.dep=Bn())))}function vo(e,t){e=H(e),e.dep&&yn(e.dep)}function fe(e){return!!(e&&e.__v_isRef===!0)}function Co(e){return fe(e)?e.value:e}const wo={get:(e,t,n)=>Co(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function er(e){return ct(e)?e:new Proxy(e,wo)}var tr;class Eo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[tr]=!1,this._dirty=!0,this.effect=new Hn(t,()=>{this._dirty||(this._dirty=!0,vo(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=H(this);return xo(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}tr="__v_isReadonly";function To(e,t,n=!1){let s,r;const o=F(e);return o?(s=e,r=Ce):(s=e.get,r=e.set),new Eo(s,r,o||!r,n)}function De(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Zt(o,t,n)}return r}function be(e,t,n,s){if(F(e)){const o=De(e,t,n,s);return o&&Hs(o)&&o.catch(i=>{Zt(i,t,n)}),o}const r=[];for(let o=0;o<e.length;o++)r.push(be(e[o],t,n,s));return r}function Zt(e,t,n,s=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const i=t.proxy,l=n;for(;o;){const a=o.ec;if(a){for(let g=0;g<a.length;g++)if(a[g](e,i,l)===!1)return}o=o.parent}const f=t.appContext.config.errorHandler;if(f){De(f,null,10,[e,i,l]);return}}Io(e,n,r,s)}function Io(e,t,n,s=!0){console.error(e)}let vt=!1,vn=!1;const oe=[];let Fe=0;const ft=[];let Re=null,Ye=0;const nr=Promise.resolve();let zn=null;function Oo(e){const t=zn||nr;return e?t.then(this?e.bind(this):e):t}function Ao(e){let t=Fe+1,n=oe.length;for(;t<n;){const s=t+n>>>1;Ct(oe[s])<e?t=s+1:n=s}return t}function Vn(e){(!oe.length||!oe.includes(e,vt&&e.allowRecurse?Fe+1:Fe))&&(e.id==null?oe.push(e):oe.splice(Ao(e.id),0,e),sr())}function sr(){!vt&&!vn&&(vn=!0,zn=nr.then(or))}function ko(e){const t=oe.indexOf(e);t>Fe&&oe.splice(t,1)}function Fo(e){k(e)?ft.push(...e):(!Re||!Re.includes(e,e.allowRecurse?Ye+1:Ye))&&ft.push(e),sr()}function us(e,t=vt?Fe+1:0){for(;t<oe.length;t++){const n=oe[t];n&&n.pre&&(oe.splice(t,1),t--,n())}}function rr(e){if(ft.length){const t=[...new Set(ft)];if(ft.length=0,Re){Re.push(...t);return}for(Re=t,Re.sort((n,s)=>Ct(n)-Ct(s)),Ye=0;Ye<Re.length;Ye++)Re[Ye]();Re=null,Ye=0}}const Ct=e=>e.id==null?1/0:e.id,Mo=(e,t)=>{const n=Ct(e)-Ct(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function or(e){vn=!1,vt=!0,oe.sort(Mo);const t=Ce;try{for(Fe=0;Fe<oe.length;Fe++){const n=oe[Fe];n&&n.active!==!1&&De(n,null,14)}}finally{Fe=0,oe.length=0,rr(),vt=!1,zn=null,(oe.length||ft.length)&&or()}}function Po(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||W;let r=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in s){const g=`${i==="modelValue"?"model":i}Modifiers`,{number:x,trim:C}=s[g]||W;C&&(r=n.map(A=>Q(A)?A.trim():A)),x&&(r=n.map(Dt))}let l,f=s[l=cn(t)]||s[l=cn(Me(t))];!f&&o&&(f=s[l=cn(at(t))]),f&&be(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(a,e,6,r)}}function ir(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!F(e)){const f=a=>{const g=ir(a,t,!0);g&&(l=!0,ie(i,g))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!l?(z(e)&&s.set(e,null),null):(k(o)?o.forEach(f=>i[f]=null):ie(i,o),z(e)&&s.set(e,i),i)}function Qt(e,t){return!e||!zt(t)?!1:(t=t.slice(2).replace(/Once$/,""),N(e,t[0].toLowerCase()+t.slice(1))||N(e,at(t))||N(e,t))}let he=null,lr=null;function Kt(e){const t=he;return he=e,lr=e&&e.type.__scopeId||null,t}function Lo(e,t=he,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&vs(-1);const o=Kt(t);let i;try{i=e(...r)}finally{Kt(o),s._d&&vs(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function fn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:f,emit:a,render:g,renderCache:x,data:C,setupState:A,ctx:B,inheritAttrs:I}=e;let Y,U;const ge=Kt(e);try{if(n.shapeFlag&4){const V=r||s;Y=ke(g.call(V,V,x,o,A,C,B)),U=f}else{const V=t;Y=ke(V.length>1?V(o,{attrs:f,slots:l,emit:a}):V(o,null)),U=t.props?f:Ro(f)}}catch(V){yt.length=0,Zt(V,e,1),Y=Z(we)}let M=Y;if(U&&I!==!1){const V=Object.keys(U),{shapeFlag:te}=M;V.length&&te&7&&(i&&V.some(Ln)&&(U=No(U,i)),M=$e(M,U))}return n.dirs&&(M=$e(M),M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&(M.transition=n.transition),Y=M,Kt(ge),Y}const Ro=e=>{let t;for(const n in e)(n==="class"||n==="style"||zt(n))&&((t||(t={}))[n]=e[n]);return t},No=(e,t)=>{const n={};for(const s in e)(!Ln(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function So(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:f}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?as(s,i,a):!!i;if(f&8){const g=t.dynamicProps;for(let x=0;x<g.length;x++){const C=g[x];if(i[C]!==s[C]&&!Qt(a,C))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?as(s,i,a):!0:!!i;return!1}function as(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(t[o]!==e[o]&&!Qt(n,o))return!0}return!1}function Bo({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const Ho=e=>e.__isSuspense;function jo(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):Fo(e)}function Uo(e,t){if(ee){let n=ee.provides;const s=ee.parent&&ee.parent.provides;s===n&&(n=ee.provides=Object.create(s)),n[e]=t}}function St(e,t,n=!1){const s=ee||he;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&F(t)?t.call(s.proxy):t}}const Lt={};function un(e,t,n){return cr(e,t,n)}function cr(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=W){const l=ee;let f,a=!1,g=!1;if(fe(e)?(f=()=>e.value,a=xn(e)):ct(e)?(f=()=>e,s=!0):k(e)?(g=!0,a=e.some(M=>ct(M)||xn(M)),f=()=>e.map(M=>{if(fe(M))return M.value;if(ct(M))return Qe(M);if(F(M))return De(M,l,2)})):F(e)?t?f=()=>De(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return x&&x(),be(e,l,3,[C])}:f=Ce,t&&s){const M=f;f=()=>Qe(M())}let x,C=M=>{x=U.onStop=()=>{De(M,l,4)}},A;if(Et)if(C=Ce,t?n&&be(t,l,3,[f(),g?[]:void 0,C]):f(),r==="sync"){const M=Bi();A=M.__watcherHandles||(M.__watcherHandles=[])}else return Ce;let B=g?new Array(e.length).fill(Lt):Lt;const I=()=>{if(U.active)if(t){const M=U.run();(s||a||(g?M.some((V,te)=>jt(V,B[te])):jt(M,B)))&&(x&&x(),be(t,l,3,[M,B===Lt?void 0:g&&B[0]===Lt?[]:B,C]),B=M)}else U.run()};I.allowRecurse=!!t;let Y;r==="sync"?Y=I:r==="post"?Y=()=>ue(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),Y=()=>Vn(I));const U=new Hn(f,Y);t?n?I():B=U.run():r==="post"?ue(U.run.bind(U),l&&l.suspense):U.run();const ge=()=>{U.stop(),l&&l.scope&&Rn(l.scope.effects,U)};return A&&A.push(ge),ge}function Do(e,t,n){const s=this.proxy,r=Q(e)?e.includes(".")?fr(s,e):()=>s[e]:e.bind(s,s);let o;F(t)?o=t:(o=t.handler,n=t);const i=ee;ut(this);const l=cr(r,o.bind(s),n);return i?ut(i):tt(),l}function fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}function Qe(e,t){if(!z(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),fe(e))Qe(e.value,t);else if(k(e))for(let n=0;n<e.length;n++)Qe(e[n],t);else if(Bs(e)||lt(e))e.forEach(n=>{Qe(n,t)});else if(Us(e))for(const n in e)Qe(e[n],t);return e}function Ko(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return hr(()=>{e.isMounted=!0}),pr(()=>{e.isUnmounting=!0}),e}const _e=[Function,Array],$o={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:_e,onEnter:_e,onAfterEnter:_e,onEnterCancelled:_e,onBeforeLeave:_e,onLeave:_e,onAfterLeave:_e,onLeaveCancelled:_e,onBeforeAppear:_e,onAppear:_e,onAfterAppear:_e,onAppearCancelled:_e},setup(e,{slots:t}){const n=Ai(),s=Ko();let r;return()=>{const o=t.default&&ar(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const I of o)if(I.type!==we){i=I;break}}const l=H(e),{mode:f}=l;if(s.isLeaving)return an(i);const a=ds(i);if(!a)return an(i);const g=Cn(a,l,s,n);wn(a,g);const x=n.subTree,C=x&&ds(x);let A=!1;const{getTransitionKey:B}=a.type;if(B){const I=B();r===void 0?r=I:I!==r&&(r=I,A=!0)}if(C&&C.type!==we&&(!Xe(a,C)||A)){const I=Cn(C,l,s,n);if(wn(C,I),f==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},an(i);f==="in-out"&&a.type!==we&&(I.delayLeave=(Y,U,ge)=>{const M=ur(s,C);M[String(C.key)]=C,Y._leaveCb=()=>{U(),Y._leaveCb=void 0,delete g.delayedLeave},g.delayedLeave=ge})}return i}}},Wo=$o;function ur(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 Cn(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:g,onBeforeLeave:x,onLeave:C,onAfterLeave:A,onLeaveCancelled:B,onBeforeAppear:I,onAppear:Y,onAfterAppear:U,onAppearCancelled:ge}=t,M=String(e.key),V=ur(n,e),te=(L,G)=>{L&&be(L,s,9,G)},nt=(L,G)=>{const q=G[1];te(L,G),k(L)?L.every(ae=>ae.length<=1)&&q():L.length<=1&&q()},Be={mode:o,persisted:i,beforeEnter(L){let G=l;if(!n.isMounted)if(r)G=I||l;else return;L._leaveCb&&L._leaveCb(!0);const q=V[M];q&&Xe(e,q)&&q.el._leaveCb&&q.el._leaveCb(),te(G,[L])},enter(L){let G=f,q=a,ae=g;if(!n.isMounted)if(r)G=Y||f,q=U||a,ae=ge||g;else return;let Ee=!1;const Pe=L._enterCb=pt=>{Ee||(Ee=!0,pt?te(ae,[L]):te(q,[L]),Be.delayedLeave&&Be.delayedLeave(),L._enterCb=void 0)};G?nt(G,[L,Pe]):Pe()},leave(L,G){const q=String(e.key);if(L._enterCb&&L._enterCb(!0),n.isUnmounting)return G();te(x,[L]);let ae=!1;const Ee=L._leaveCb=Pe=>{ae||(ae=!0,G(),Pe?te(B,[L]):te(A,[L]),L._leaveCb=void 0,V[q]===e&&delete V[q])};V[q]=e,C?nt(C,[L,Ee]):Ee()},clone(L){return Cn(L,t,n,s)}};return Be}function an(e){if(Gt(e))return e=$e(e),e.children=null,e}function ds(e){return Gt(e)?e.children?e.children[0]:void 0:e}function wn(e,t){e.shapeFlag&6&&e.component?wn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let s=[],r=0;for(let o=0;o<e.length;o++){let i=e[o];const l=n==null?i.key:String(n)+String(i.key!=null?i.key:o);i.type===re?(i.patchFlag&128&&r++,s=s.concat(ar(i.children,t,l))):(t||i.type!==we)&&s.push(l!=null?$e(i,{key:l}):i)}if(r>1)for(let o=0;o<s.length;o++)s[o].patchFlag=-2;return s}const Bt=e=>!!e.type.__asyncLoader,Gt=e=>e.type.__isKeepAlive;function zo(e,t){dr(e,"a",t)}function Vo(e,t){dr(e,"da",t)}function dr(e,t,n=ee){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(en(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gt(r.parent.vnode)&&qo(s,t,n,r),r=r.parent}}function qo(e,t,n,s){const r=en(t,e,s,!0);gr(()=>{Rn(s[t],r)},n)}function en(e,t,n=ee,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt(),ut(n);const l=be(t,n,e,i);return tt(),ht(),l});return s?r.unshift(o):r.push(o),o}}const Se=e=>(t,n=ee)=>(!Et||e==="sp")&&en(e,(...s)=>t(...s),n),Jo=Se("bm"),hr=Se("m"),Yo=Se("bu"),Xo=Se("u"),pr=Se("bum"),gr=Se("um"),Zo=Se("sp"),Qo=Se("rtg"),Go=Se("rtc");function ei(e,t=ee){en("ec",e,t)}function hs(e,t){const n=he;if(n===null)return e;const s=sn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,l,f,a=W]=t[o];i&&(F(i)&&(i={mounted:i,updated:i}),i.deep&&Qe(l),r.push({dir:i,instance:s,value:l,oldValue:void 0,arg:f,modifiers:a}))}return e}function Ve(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let f=l.dir[s];f&&(dt(),be(f,n,8,[e.el,l,e,t]),ht())}}const _r="components";function Ge(e,t){return ni(_r,e,!0,t)||e}const ti=Symbol();function ni(e,t,n=!0,s=!1){const r=he||ee;if(r){const o=r.type;if(e===_r){const l=Li(o,!1);if(l&&(l===t||l===Me(t)||l===Jt(Me(t))))return o}const i=ps(r[e]||o[e],t)||ps(r.appContext[e],t);return!i&&s?o:i}}function ps(e,t){return e&&(e[t]||e[Me(t)]||e[Jt(Me(t))])}function En(e,t,n,s){let r;const o=n&&n[s];if(k(e)||Q(e)){r=new Array(e.length);for(let i=0,l=e.length;i<l;i++)r[i]=t(e[i],i,void 0,o&&o[i])}else if(typeof e=="number"){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,o&&o[i])}else if(z(e))if(e[Symbol.iterator])r=Array.from(e,(i,l)=>t(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,f=i.length;l<f;l++){const a=i[l];r[l]=t(e[a],a,l,o&&o[l])}}else r=[];return n&&(n[s]=r),r}const Tn=e=>e?Or(e)?sn(e)||e.proxy:Tn(e.parent):null,bt=ie(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=>Tn(e.parent),$root:e=>Tn(e.root),$emit:e=>e.emit,$options:e=>qn(e),$forceUpdate:e=>e.f||(e.f=()=>Vn(e.update)),$nextTick:e=>e.n||(e.n=Oo.bind(e.proxy)),$watch:e=>Do.bind(e)}),dn=(e,t)=>e!==W&&!e.__isScriptSetup&&N(e,t),si={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(dn(s,t))return i[t]=1,s[t];if(r!==W&&N(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&N(a,t))return i[t]=3,o[t];if(n!==W&&N(n,t))return i[t]=4,n[t];In&&(i[t]=0)}}const g=bt[t];let x,C;if(g)return t==="$attrs"&&pe(e,"get",t),g(e);if((x=l.__cssModules)&&(x=x[t]))return x;if(n!==W&&N(n,t))return i[t]=4,n[t];if(C=f.config.globalProperties,N(C,t))return C[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return dn(r,t)?(r[t]=n,!0):s!==W&&N(s,t)?(s[t]=n,!0):N(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==W&&N(e,i)||dn(t,i)||(l=o[0])&&N(l,i)||N(s,i)||N(bt,i)||N(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:N(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let In=!0;function ri(e){const t=qn(e),n=e.proxy,s=e.ctx;In=!1,t.beforeCreate&&gs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:f,inject:a,created:g,beforeMount:x,mounted:C,beforeUpdate:A,updated:B,activated:I,deactivated:Y,beforeDestroy:U,beforeUnmount:ge,destroyed:M,unmounted:V,render:te,renderTracked:nt,renderTriggered:Be,errorCaptured:L,serverPrefetch:G,expose:q,inheritAttrs:ae,components:Ee,directives:Pe,filters:pt}=t;if(a&&oi(a,s,null,e.appContext.config.unwrapInjectedRef),i)for(const J in i){const D=i[J];F(D)&&(s[J]=D.bind(n))}if(r){const J=r.call(n,n);z(J)&&(e.data=Xt(J))}if(In=!0,o)for(const J in o){const D=o[J],We=F(D)?D.bind(n,n):F(D.get)?D.get.bind(n,n):Ce,It=!F(D)&&F(D.set)?D.set.bind(n):Ce,ze=Ni({get:We,set:It});Object.defineProperty(s,J,{enumerable:!0,configurable:!0,get:()=>ze.value,set:Te=>ze.value=Te})}if(l)for(const J in l)mr(l[J],s,n,J);if(f){const J=F(f)?f.call(n):f;Reflect.ownKeys(J).forEach(D=>{Uo(D,J[D])})}g&&gs(g,e,"c");function le(J,D){k(D)?D.forEach(We=>J(We.bind(n))):D&&J(D.bind(n))}if(le(Jo,x),le(hr,C),le(Yo,A),le(Xo,B),le(zo,I),le(Vo,Y),le(ei,L),le(Go,nt),le(Qo,Be),le(pr,ge),le(gr,V),le(Zo,G),k(q))if(q.length){const J=e.exposed||(e.exposed={});q.forEach(D=>{Object.defineProperty(J,D,{get:()=>n[D],set:We=>n[D]=We})})}else e.exposed||(e.exposed={});te&&e.render===Ce&&(e.render=te),ae!=null&&(e.inheritAttrs=ae),Ee&&(e.components=Ee),Pe&&(e.directives=Pe)}function oi(e,t,n=Ce,s=!1){k(e)&&(e=On(e));for(const r in e){const o=e[r];let i;z(o)?"default"in o?i=St(o.from||r,o.default,!0):i=St(o.from||r):i=St(o),fe(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function gs(e,t,n){be(k(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mr(e,t,n,s){const r=s.includes(".")?fr(n,s):()=>n[s];if(Q(e)){const o=t[e];F(o)&&un(r,o)}else if(F(e))un(r,e.bind(n));else if(z(e))if(k(e))e.forEach(o=>mr(o,t,n,s));else{const o=F(e.handler)?e.handler.bind(n):t[e.handler];F(o)&&un(r,o,e)}}function qn(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>$t(f,a,i,!0)),$t(f,t,i)),z(t)&&o.set(t,f),f}function $t(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&$t(e,o,n,!0),r&&r.forEach(i=>$t(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=ii[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ii={data:_s,props:Je,emits:Je,methods:Je,computed:Je,beforeCreate:ce,created:ce,beforeMount:ce,mounted:ce,beforeUpdate:ce,updated:ce,beforeDestroy:ce,beforeUnmount:ce,destroyed:ce,unmounted:ce,activated:ce,deactivated:ce,errorCaptured:ce,serverPrefetch:ce,components:Je,directives:Je,watch:ci,provide:_s,inject:li};function _s(e,t){return t?e?function(){return ie(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function li(e,t){return Je(On(e),On(t))}function On(e){if(k(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ce(e,t){return e?[...new Set([].concat(e,t))]:t}function Je(e,t){return e?ie(ie(Object.create(null),e),t):t}function ci(e,t){if(!e)return t;if(!t)return e;const n=ie(Object.create(null),e);for(const s in t)n[s]=ce(e[s],t[s]);return n}function fi(e,t,n,s=!1){const r={},o={};Ut(o,nn,1),e.propsDefaults=Object.create(null),br(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:yo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ui(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=H(r),[f]=e.propsOptions;let a=!1;if((s||i>0)&&!(i&16)){if(i&8){const g=e.vnode.dynamicProps;for(let x=0;x<g.length;x++){let C=g[x];if(Qt(e.emitsOptions,C))continue;const A=t[C];if(f)if(N(o,C))A!==o[C]&&(o[C]=A,a=!0);else{const B=Me(C);r[B]=An(f,l,B,A,e,!1)}else A!==o[C]&&(o[C]=A,a=!0)}}}else{br(e,t,r,o)&&(a=!0);let g;for(const x in l)(!t||!N(t,x)&&((g=at(x))===x||!N(t,g)))&&(f?n&&(n[x]!==void 0||n[g]!==void 0)&&(r[x]=An(f,l,x,void 0,e,!0)):delete r[x]);if(o!==l)for(const x in o)(!t||!N(t,x))&&(delete o[x],a=!0)}a&&Ne(e,"set","$attrs")}function br(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let f in t){if(Rt(f))continue;const a=t[f];let g;r&&N(r,g=Me(f))?!o||!o.includes(g)?n[g]=a:(l||(l={}))[g]=a:Qt(e.emitsOptions,f)||(!(f in s)||a!==s[f])&&(s[f]=a,i=!0)}if(o){const f=H(n),a=l||W;for(let g=0;g<o.length;g++){const x=o[g];n[x]=An(r,f,x,a[x],e,!N(a,x))}}return i}function An(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=N(i,"default");if(l&&s===void 0){const f=i.default;if(i.type!==Function&&F(f)){const{propsDefaults:a}=r;n in a?s=a[n]:(ut(r),s=a[n]=f.call(null,t),tt())}else s=f}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===at(n))&&(s=!0))}return s}function yr(e,t,n=!1){const s=t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let f=!1;if(!F(e)){const g=x=>{f=!0;const[C,A]=yr(x,t,!0);ie(i,C),A&&l.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!o&&!f)return z(e)&&s.set(e,it),it;if(k(o))for(let g=0;g<o.length;g++){const x=Me(o[g]);ms(x)&&(i[x]=W)}else if(o)for(const g in o){const x=Me(g);if(ms(x)){const C=o[g],A=i[x]=k(C)||F(C)?{type:C}:Object.assign({},C);if(A){const B=xs(Boolean,A.type),I=xs(String,A.type);A[0]=B>-1,A[1]=I<0||B<I,(B>-1||N(A,"default"))&&l.push(x)}}}const a=[i,l];return z(e)&&s.set(e,a),a}function ms(e){return e[0]!=="$"}function bs(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function ys(e,t){return bs(e)===bs(t)}function xs(e,t){return k(t)?t.findIndex(n=>ys(n,e)):F(t)&&ys(t,e)?0:-1}const xr=e=>e[0]==="_"||e==="$stable",Jn=e=>k(e)?e.map(ke):[ke(e)],ai=(e,t,n)=>{if(t._n)return t;const s=Lo((...r)=>Jn(t(...r)),n);return s._c=!1,s},vr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(xr(r))continue;const o=e[r];if(F(o))t[r]=ai(r,o,s);else if(o!=null){const i=Jn(o);t[r]=()=>i}}},Cr=(e,t)=>{const n=Jn(t);e.slots.default=()=>n},di=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=H(t),Ut(t,"_",n)):vr(t,e.slots={})}else e.slots={},t&&Cr(e,t);Ut(e.slots,nn,1)},hi=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=W;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(r,t),!n&&l===1&&delete r._):(o=!t.$stable,vr(t,r)),i=t}else t&&(Cr(e,t),i={default:1});if(o)for(const l in r)!xr(l)&&!(l in i)&&delete r[l]};function wr(){return{app:null,config:{isNativeTag:Hr,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 pi=0;function gi(e,t){return function(s,r=null){F(s)||(s=Object.assign({},s)),r!=null&&!z(r)&&(r=null);const o=wr(),i=new Set;let l=!1;const f=o.app={_uid:pi++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:Hi,get config(){return o.config},set config(a){},use(a,...g){return i.has(a)||(a&&F(a.install)?(i.add(a),a.install(f,...g)):F(a)&&(i.add(a),a(f,...g))),f},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),f},component(a,g){return g?(o.components[a]=g,f):o.components[a]},directive(a,g){return g?(o.directives[a]=g,f):o.directives[a]},mount(a,g,x){if(!l){const C=Z(s,r);return C.appContext=o,g&&t?t(C,a):e(C,a,x),l=!0,f._container=a,a.__vue_app__=f,sn(C.component)||C.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,g){return o.provides[a]=g,f}};return f}}function kn(e,t,n,s,r=!1){if(k(e)){e.forEach((C,A)=>kn(C,t&&(k(t)?t[A]:t),n,s,r));return}if(Bt(s)&&!r)return;const o=s.shapeFlag&4?sn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:f}=e,a=t&&t.r,g=l.refs===W?l.refs={}:l.refs,x=l.setupState;if(a!=null&&a!==f&&(Q(a)?(g[a]=null,N(x,a)&&(x[a]=null)):fe(a)&&(a.value=null)),F(f))De(f,l,12,[i,g]);else{const C=Q(f),A=fe(f);if(C||A){const B=()=>{if(e.f){const I=C?N(x,f)?x[f]:g[f]:f.value;r?k(I)&&Rn(I,o):k(I)?I.includes(o)||I.push(o):C?(g[f]=[o],N(x,f)&&(x[f]=g[f])):(f.value=[o],e.k&&(g[e.k]=f.value))}else C?(g[f]=i,N(x,f)&&(x[f]=i)):A&&(f.value=i,e.k&&(g[e.k]=i))};i?(B.id=-1,ue(B,n)):B()}}}const ue=jo;function _i(e){return mi(e)}function mi(e,t){const n=Wr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:f,setText:a,setElementText:g,parentNode:x,nextSibling:C,setScopeId:A=Ce,insertStaticContent:B}=e,I=(c,u,d,p=null,h=null,b=null,v=!1,m=null,y=!!u.dynamicChildren)=>{if(c===u)return;c&&!Xe(c,u)&&(p=Ot(c),Te(c,h,b,!0),c=null),u.patchFlag===-2&&(y=!1,u.dynamicChildren=null);const{type:_,ref:E,shapeFlag:w}=u;switch(_){case tn:Y(c,u,d,p);break;case we:U(c,u,d,p);break;case hn:c==null&&ge(u,d,p,v);break;case re:Ee(c,u,d,p,h,b,v,m,y);break;default:w&1?te(c,u,d,p,h,b,v,m,y):w&6?Pe(c,u,d,p,h,b,v,m,y):(w&64||w&128)&&_.process(c,u,d,p,h,b,v,m,y,st)}E!=null&&h&&kn(E,c&&c.ref,b,u||c,!u)},Y=(c,u,d,p)=>{if(c==null)s(u.el=l(u.children),d,p);else{const h=u.el=c.el;u.children!==c.children&&a(h,u.children)}},U=(c,u,d,p)=>{c==null?s(u.el=f(u.children||""),d,p):u.el=c.el},ge=(c,u,d,p)=>{[c.el,c.anchor]=B(c.children,u,d,p,c.el,c.anchor)},M=({el:c,anchor:u},d,p)=>{let h;for(;c&&c!==u;)h=C(c),s(c,d,p),c=h;s(u,d,p)},V=({el:c,anchor:u})=>{let d;for(;c&&c!==u;)d=C(c),r(c),c=d;r(u)},te=(c,u,d,p,h,b,v,m,y)=>{v=v||u.type==="svg",c==null?nt(u,d,p,h,b,v,m,y):G(c,u,h,b,v,m,y)},nt=(c,u,d,p,h,b,v,m)=>{let y,_;const{type:E,props:w,shapeFlag:T,transition:O,dirs:R}=c;if(y=c.el=i(c.type,b,w&&w.is,w),T&8?g(y,c.children):T&16&&L(c.children,y,null,p,h,b&&E!=="foreignObject",v,m),R&&Ve(c,null,p,"created"),w){for(const j in w)j!=="value"&&!Rt(j)&&o(y,j,null,w[j],b,c.children,p,h,Le);"value"in w&&o(y,"value",null,w.value),(_=w.onVnodeBeforeMount)&&Oe(_,p,c)}Be(y,c,c.scopeId,v,p),R&&Ve(c,null,p,"beforeMount");const K=(!h||h&&!h.pendingBranch)&&O&&!O.persisted;K&&O.beforeEnter(y),s(y,u,d),((_=w&&w.onVnodeMounted)||K||R)&&ue(()=>{_&&Oe(_,p,c),K&&O.enter(y),R&&Ve(c,null,p,"mounted")},h)},Be=(c,u,d,p,h)=>{if(d&&A(c,d),p)for(let b=0;b<p.length;b++)A(c,p[b]);if(h){let b=h.subTree;if(u===b){const v=h.vnode;Be(c,v,v.scopeId,v.slotScopeIds,h.parent)}}},L=(c,u,d,p,h,b,v,m,y=0)=>{for(let _=y;_<c.length;_++){const E=c[_]=m?je(c[_]):ke(c[_]);I(null,E,u,d,p,h,b,v,m)}},G=(c,u,d,p,h,b,v)=>{const m=u.el=c.el;let{patchFlag:y,dynamicChildren:_,dirs:E}=u;y|=c.patchFlag&16;const w=c.props||W,T=u.props||W;let O;d&&qe(d,!1),(O=T.onVnodeBeforeUpdate)&&Oe(O,d,u,c),E&&Ve(u,c,d,"beforeUpdate"),d&&qe(d,!0);const R=h&&u.type!=="foreignObject";if(_?q(c.dynamicChildren,_,m,d,p,R,b):v||D(c,u,m,null,d,p,R,b,!1),y>0){if(y&16)ae(m,u,w,T,d,p,h);else if(y&2&&w.class!==T.class&&o(m,"class",null,T.class,h),y&4&&o(m,"style",w.style,T.style,h),y&8){const K=u.dynamicProps;for(let j=0;j<K.length;j++){const X=K[j],ye=w[X],rt=T[X];(rt!==ye||X==="value")&&o(m,X,ye,rt,h,c.children,d,p,Le)}}y&1&&c.children!==u.children&&g(m,u.children)}else!v&&_==null&&ae(m,u,w,T,d,p,h);((O=T.onVnodeUpdated)||E)&&ue(()=>{O&&Oe(O,d,u,c),E&&Ve(u,c,d,"updated")},p)},q=(c,u,d,p,h,b,v)=>{for(let m=0;m<u.length;m++){const y=c[m],_=u[m],E=y.el&&(y.type===re||!Xe(y,_)||y.shapeFlag&70)?x(y.el):d;I(y,_,E,null,p,h,b,v,!0)}},ae=(c,u,d,p,h,b,v)=>{if(d!==p){if(d!==W)for(const m in d)!Rt(m)&&!(m in p)&&o(c,m,d[m],null,v,u.children,h,b,Le);for(const m in p){if(Rt(m))continue;const y=p[m],_=d[m];y!==_&&m!=="value"&&o(c,m,_,y,v,u.children,h,b,Le)}"value"in p&&o(c,"value",d.value,p.value)}},Ee=(c,u,d,p,h,b,v,m,y)=>{const _=u.el=c?c.el:l(""),E=u.anchor=c?c.anchor:l("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:O}=u;O&&(m=m?m.concat(O):O),c==null?(s(_,d,p),s(E,d,p),L(u.children,d,E,h,b,v,m,y)):w>0&&w&64&&T&&c.dynamicChildren?(q(c.dynamicChildren,T,d,h,b,v,m),(u.key!=null||h&&u===h.subTree)&&Er(c,u,!0)):D(c,u,d,E,h,b,v,m,y)},Pe=(c,u,d,p,h,b,v,m,y)=>{u.slotScopeIds=m,c==null?u.shapeFlag&512?h.ctx.activate(u,d,p,v,y):pt(u,d,p,h,b,v,y):Xn(c,u,y)},pt=(c,u,d,p,h,b,v)=>{const m=c.component=Oi(c,p,h);if(Gt(c)&&(m.ctx.renderer=st),ki(m),m.asyncDep){if(h&&h.registerDep(m,le),!c.el){const y=m.subTree=Z(we);U(null,y,u,d)}return}le(m,c,u,d,h,b,v)},Xn=(c,u,d)=>{const p=u.component=c.component;if(So(c,u,d))if(p.asyncDep&&!p.asyncResolved){J(p,u,d);return}else p.next=u,ko(p.update),p.update();else u.el=c.el,p.vnode=u},le=(c,u,d,p,h,b,v)=>{const m=()=>{if(c.isMounted){let{next:E,bu:w,u:T,parent:O,vnode:R}=c,K=E,j;qe(c,!1),E?(E.el=R.el,J(c,E,v)):E=R,w&&Nt(w),(j=E.props&&E.props.onVnodeBeforeUpdate)&&Oe(j,O,E,R),qe(c,!0);const X=fn(c),ye=c.subTree;c.subTree=X,I(ye,X,x(ye.el),Ot(ye),c,h,b),E.el=X.el,K===null&&Bo(c,X.el),T&&ue(T,h),(j=E.props&&E.props.onVnodeUpdated)&&ue(()=>Oe(j,O,E,R),h)}else{let E;const{el:w,props:T}=u,{bm:O,m:R,parent:K}=c,j=Bt(u);if(qe(c,!1),O&&Nt(O),!j&&(E=T&&T.onVnodeBeforeMount)&&Oe(E,K,u),qe(c,!0),w&&ln){const X=()=>{c.subTree=fn(c),ln(w,c.subTree,c,h,null)};j?u.type.__asyncLoader().then(()=>!c.isUnmounted&&X()):X()}else{const X=c.subTree=fn(c);I(null,X,d,p,c,h,b),u.el=X.el}if(R&&ue(R,h),!j&&(E=T&&T.onVnodeMounted)){const X=u;ue(()=>Oe(E,K,X),h)}(u.shapeFlag&256||K&&Bt(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&ue(c.a,h),c.isMounted=!0,u=d=p=null}},y=c.effect=new Hn(m,()=>Vn(_),c.scope),_=c.update=()=>y.run();_.id=c.uid,qe(c,!0),_()},J=(c,u,d)=>{u.component=c;const p=c.vnode.props;c.vnode=u,c.next=null,ui(c,u.props,p,d),hi(c,u.children,d),dt(),us(),ht()},D=(c,u,d,p,h,b,v,m,y=!1)=>{const _=c&&c.children,E=c?c.shapeFlag:0,w=u.children,{patchFlag:T,shapeFlag:O}=u;if(T>0){if(T&128){It(_,w,d,p,h,b,v,m,y);return}else if(T&256){We(_,w,d,p,h,b,v,m,y);return}}O&8?(E&16&&Le(_,h,b),w!==_&&g(d,w)):E&16?O&16?It(_,w,d,p,h,b,v,m,y):Le(_,h,b,!0):(E&8&&g(d,""),O&16&&L(w,d,p,h,b,v,m,y))},We=(c,u,d,p,h,b,v,m,y)=>{c=c||it,u=u||it;const _=c.length,E=u.length,w=Math.min(_,E);let T;for(T=0;T<w;T++){const O=u[T]=y?je(u[T]):ke(u[T]);I(c[T],O,d,null,h,b,v,m,y)}_>E?Le(c,h,b,!0,!1,w):L(u,d,p,h,b,v,m,y,w)},It=(c,u,d,p,h,b,v,m,y)=>{let _=0;const E=u.length;let w=c.length-1,T=E-1;for(;_<=w&&_<=T;){const O=c[_],R=u[_]=y?je(u[_]):ke(u[_]);if(Xe(O,R))I(O,R,d,null,h,b,v,m,y);else break;_++}for(;_<=w&&_<=T;){const O=c[w],R=u[T]=y?je(u[T]):ke(u[T]);if(Xe(O,R))I(O,R,d,null,h,b,v,m,y);else break;w--,T--}if(_>w){if(_<=T){const O=T+1,R=O<E?u[O].el:p;for(;_<=T;)I(null,u[_]=y?je(u[_]):ke(u[_]),d,R,h,b,v,m,y),_++}}else if(_>T)for(;_<=w;)Te(c[_],h,b,!0),_++;else{const O=_,R=_,K=new Map;for(_=R;_<=T;_++){const de=u[_]=y?je(u[_]):ke(u[_]);de.key!=null&&K.set(de.key,_)}let j,X=0;const ye=T-R+1;let rt=!1,Gn=0;const gt=new Array(ye);for(_=0;_<ye;_++)gt[_]=0;for(_=O;_<=w;_++){const de=c[_];if(X>=ye){Te(de,h,b,!0);continue}let Ie;if(de.key!=null)Ie=K.get(de.key);else for(j=R;j<=T;j++)if(gt[j-R]===0&&Xe(de,u[j])){Ie=j;break}Ie===void 0?Te(de,h,b,!0):(gt[Ie-R]=_+1,Ie>=Gn?Gn=Ie:rt=!0,I(de,u[Ie],d,null,h,b,v,m,y),X++)}const es=rt?bi(gt):it;for(j=es.length-1,_=ye-1;_>=0;_--){const de=R+_,Ie=u[de],ts=de+1<E?u[de+1].el:p;gt[_]===0?I(null,Ie,d,ts,h,b,v,m,y):rt&&(j<0||_!==es[j]?ze(Ie,d,ts,2):j--)}}},ze=(c,u,d,p,h=null)=>{const{el:b,type:v,transition:m,children:y,shapeFlag:_}=c;if(_&6){ze(c.component.subTree,u,d,p);return}if(_&128){c.suspense.move(u,d,p);return}if(_&64){v.move(c,u,d,st);return}if(v===re){s(b,u,d);for(let w=0;w<y.length;w++)ze(y[w],u,d,p);s(c.anchor,u,d);return}if(v===hn){M(c,u,d);return}if(p!==2&&_&1&&m)if(p===0)m.beforeEnter(b),s(b,u,d),ue(()=>m.enter(b),h);else{const{leave:w,delayLeave:T,afterLeave:O}=m,R=()=>s(b,u,d),K=()=>{w(b,()=>{R(),O&&O()})};T?T(b,R,K):K()}else s(b,u,d)},Te=(c,u,d,p=!1,h=!1)=>{const{type:b,props:v,ref:m,children:y,dynamicChildren:_,shapeFlag:E,patchFlag:w,dirs:T}=c;if(m!=null&&kn(m,null,d,c,!0),E&256){u.ctx.deactivate(c);return}const O=E&1&&T,R=!Bt(c);let K;if(R&&(K=v&&v.onVnodeBeforeUnmount)&&Oe(K,u,c),E&6)Mr(c.component,d,p);else{if(E&128){c.suspense.unmount(d,p);return}O&&Ve(c,null,u,"beforeUnmount"),E&64?c.type.remove(c,u,d,h,st,p):_&&(b!==re||w>0&&w&64)?Le(_,u,d,!1,!0):(b===re&&w&384||!h&&E&16)&&Le(y,u,d),p&&Zn(c)}(R&&(K=v&&v.onVnodeUnmounted)||O)&&ue(()=>{K&&Oe(K,u,c),O&&Ve(c,null,u,"unmounted")},d)},Zn=c=>{const{type:u,el:d,anchor:p,transition:h}=c;if(u===re){Fr(d,p);return}if(u===hn){V(c);return}const b=()=>{r(d),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(c.shapeFlag&1&&h&&!h.persisted){const{leave:v,delayLeave:m}=h,y=()=>v(d,b);m?m(c.el,b,y):y()}else b()},Fr=(c,u)=>{let d;for(;c!==u;)d=C(c),r(c),c=d;r(u)},Mr=(c,u,d)=>{const{bum:p,scope:h,update:b,subTree:v,um:m}=c;p&&Nt(p),h.stop(),b&&(b.active=!1,Te(v,c,u,d)),m&&ue(m,u),ue(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(c,u,d,p=!1,h=!1,b=0)=>{for(let v=b;v<c.length;v++)Te(c[v],u,d,p,h)},Ot=c=>c.shapeFlag&6?Ot(c.component.subTree):c.shapeFlag&128?c.suspense.next():C(c.anchor||c.el),Qn=(c,u,d)=>{c==null?u._vnode&&Te(u._vnode,null,null,!0):I(u._vnode||null,c,u,null,null,null,d),us(),rr(),u._vnode=c},st={p:I,um:Te,m:ze,r:Zn,mt:pt,mc:L,pc:D,pbc:q,n:Ot,o:e};let on,ln;return t&&([on,ln]=t(st)),{render:Qn,hydrate:on,createApp:gi(Qn,on)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Er(e,t,n=!1){const s=e.children,r=t.children;if(k(s)&&k(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=je(r[o]),l.el=i.el),n||Er(i,l)),l.type===tn&&(l.el=i.el)}}function bi(e){const t=e.slice(),n=[0];let s,r,o,i,l;const f=e.length;for(s=0;s<f;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<a?o=l+1:i=l;a<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const yi=e=>e.__isTeleport,re=Symbol(void 0),tn=Symbol(void 0),we=Symbol(void 0),hn=Symbol(void 0),yt=[];let ve=null;function S(e=!1){yt.push(ve=e?null:[])}function xi(){yt.pop(),ve=yt[yt.length-1]||null}let wt=1;function vs(e){wt+=e}function Tr(e){return e.dynamicChildren=wt>0?ve||it:null,xi(),wt>0&&ve&&ve.push(e),e}function $(e,t,n,s,r,o){return Tr(P(e,t,n,s,r,o,!0))}function mt(e,t,n,s,r){return Tr(Z(e,t,n,s,r,!0))}function vi(e){return e?e.__v_isVNode===!0:!1}function Xe(e,t){return e.type===t.type&&e.key===t.key}const nn="__vInternal",Ir=({key:e})=>e??null,Ht=({ref:e,ref_key:t,ref_for:n})=>e!=null?Q(e)||fe(e)||F(e)?{i:he,r:e,k:t,f:!!n}:e:null;function P(e,t=null,n=null,s=0,r=null,o=e===re?0:1,i=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ir(t),ref:t&&Ht(t),scopeId:lr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:he};return l?(Yn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=Q(n)?8:16),wt>0&&!i&&ve&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&ve.push(f),f}const Z=Ci;function Ci(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===ti)&&(e=we),vi(e)){const l=$e(e,t,!0);return n&&Yn(l,n),wt>0&&!o&&ve&&(l.shapeFlag&6?ve[ve.indexOf(e)]=l:ve.push(l)),l.patchFlag|=-2,l}if(Ri(e)&&(e=e.__vccOpts),t){t=wi(t);let{class:l,style:f}=t;l&&!Q(l)&&(t.class=me(l)),z(f)&&(Qs(f)&&!k(f)&&(f=ie({},f)),t.style=Pn(f))}const i=Q(e)?1:Ho(e)?128:yi(e)?64:z(e)?4:F(e)?2:0;return P(e,t,n,s,r,i,o,!0)}function wi(e){return e?Qs(e)||nn in e?ie({},e):e:null}function $e(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Ei(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ir(l),ref:t&&t.ref?n&&r?k(r)?r.concat(Ht(t)):[r,Ht(t)]:Ht(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==re?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&$e(e.ssContent),ssFallback:e.ssFallback&&$e(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx}}function Wt(e=" ",t=0){return Z(tn,null,e,t)}function ne(e="",t=!1){return t?(S(),mt(we,null,e)):Z(we,null,e)}function ke(e){return e==null||typeof e=="boolean"?Z(we):k(e)?Z(re,null,e.slice()):typeof e=="object"?je(e):Z(tn,null,String(e))}function je(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$e(e)}function Yn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(k(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Yn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(nn in t)?t._ctx=he:r===3&&he&&(he.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else F(t)?(t={default:t,_ctx:he},n=32):(t=String(t),s&64?(n=16,t=[Wt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ei(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=me([t.class,s.class]));else if(r==="style")t.style=Pn([t.style,s.style]);else if(zt(r)){const o=t[r],i=s[r];i&&o!==i&&!(k(o)&&o.includes(i))&&(t[r]=o?[].concat(o,i):i)}else r!==""&&(t[r]=s[r])}return t}function Oe(e,t,n,s=null){be(e,t,7,[n,s])}const Ti=wr();let Ii=0;function Oi(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Ti,o={uid:Ii++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new zr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yr(s,r),emitsOptions:ir(s,r),emit:null,emitted:null,propsDefaults:W,inheritAttrs:s.inheritAttrs,ctx:W,data:W,props:W,attrs:W,slots:W,refs:W,setupState:W,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 o.ctx={_:o},o.root=t?t.root:o,o.emit=Po.bind(null,o),e.ce&&e.ce(o),o}let ee=null;const Ai=()=>ee||he,ut=e=>{ee=e,e.scope.on()},tt=()=>{ee&&ee.scope.off(),ee=null};function Or(e){return e.vnode.shapeFlag&4}let Et=!1;function ki(e,t=!1){Et=t;const{props:n,children:s}=e.vnode,r=Or(e);fi(e,n,r,t),di(e,s);const o=r?Fi(e,t):void 0;return Et=!1,o}function Fi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Gs(new Proxy(e.ctx,si));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Pi(e):null;ut(e),dt();const o=De(s,e,0,[e.props,r]);if(ht(),tt(),Hs(o)){if(o.then(tt,tt),t)return o.then(i=>{Cs(e,i,t)}).catch(i=>{Zt(i,e,0)});e.asyncDep=o}else Cs(e,o,t)}else Ar(e,t)}function Cs(e,t,n){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)&&(e.setupState=er(t)),Ar(e,n)}let ws;function Ar(e,t,n){const s=e.type;if(!e.render){if(!t&&ws&&!s.render){const r=s.template||qn(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ie(ie({isCustomElement:o,delimiters:l},i),f);s.render=ws(r,a)}}e.render=s.render||Ce}ut(e),dt(),ri(e),ht(),tt()}function Mi(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function Pi(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Mi(e))},slots:e.slots,emit:e.emit,expose:t}}function sn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(er(Gs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in bt)return bt[n](e)},has(t,n){return n in t||n in bt}}))}function Li(e,t=!0){return F(e)?e.displayName||e.name:e.name||t&&e.__name}function Ri(e){return F(e)&&"__vccOpts"in e}const Ni=(e,t)=>To(e,t,Et),Si=Symbol(""),Bi=()=>St(Si),Hi="3.2.45",ji="http://www.w3.org/2000/svg",Ze=typeof document<"u"?document:null,Es=Ze&&Ze.createElement("template"),Ui={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 r=t?Ze.createElementNS(ji,e):Ze.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ze.createTextNode(e),createComment:e=>Ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Es.innerHTML=s?`<svg>${e}</svg>`:e;const l=Es.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Di(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ki(e,t,n){const s=e.style,r=Q(n);if(n&&!r){for(const o in n)Fn(s,o,n[o]);if(t&&!Q(t))for(const o in t)n[o]==null&&Fn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const Ts=/\s*!important$/;function Fn(e,t,n){if(k(n))n.forEach(s=>Fn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=$i(e,t);Ts.test(n)?e.setProperty(at(s),n.replace(Ts,""),"important"):e[s]=n}}const Is=["Webkit","Moz","ms"],pn={};function $i(e,t){const n=pn[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return pn[t]=s;s=Jt(s);for(let r=0;r<Is.length;r++){const o=Is[r]+s;if(o in e)return pn[t]=o}return t}const Os="http://www.w3.org/1999/xlink";function Wi(e,t,n,s,r){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Os,t.slice(6,t.length)):e.setAttributeNS(Os,t,n);else{const o=Br(t);n==null||o&&!Ns(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function zi(e,t,n,s,r,o,i){if(t==="innerHTML"||t==="textContent"){s&&i(s,r,o),e[t]=n??"";return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const f=n??"";(e.value!==f||e.tagName==="OPTION")&&(e.value=f),n==null&&e.removeAttribute(t);return}let l=!1;if(n===""||n==null){const f=typeof e[t];f==="boolean"?n=Ns(n):n==null&&f==="string"?(n="",l=!0):f==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(t)}function ot(e,t,n,s){e.addEventListener(t,n,s)}function Vi(e,t,n,s){e.removeEventListener(t,n,s)}function qi(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,f]=Ji(t);if(s){const a=o[t]=Zi(s,r);ot(e,l,a,f)}else i&&(Vi(e,l,i,f),o[t]=void 0)}}const As=/(?:Once|Passive|Capture)$/;function Ji(e){let t;if(As.test(e)){t={};let s;for(;s=e.match(As);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):at(e.slice(2)),t]}let gn=0;const Yi=Promise.resolve(),Xi=()=>gn||(Yi.then(()=>gn=0),gn=Date.now());function Zi(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(Qi(s,n.value),t,5,[s])};return n.value=e,n.attached=Xi(),n}function Qi(e,t){if(k(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const ks=/^on[a-z]/,Gi=(e,t,n,s,r=!1,o,i,l,f)=>{t==="class"?Di(e,s,r):t==="style"?Ki(e,n,s):zt(t)?Ln(t)||qi(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):el(e,t,s,r))?zi(e,t,s,o,i,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Wi(e,t,s,r))};function el(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&ks.test(t)&&F(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ks.test(t)&&Q(n)?!1:t in e}const tl={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};Wo.props;const Fs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return k(t)?n=>Nt(t,n):t};function nl(e){e.target.composing=!0}function Ms(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ps={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Fs(r);const o=s||r.props&&r.props.type==="number";ot(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=Dt(l)),e._assign(l)}),n&&ot(e,"change",()=>{e.value=e.value.trim()}),t||(ot(e,"compositionstart",nl),ot(e,"compositionend",Ms),ot(e,"change",Ms))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e._assign=Fs(o),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Dt(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},sl=ie({patchProp:Gi},Ui);let Ls;function rl(){return Ls||(Ls=_i(sl))}const ol=(...e)=>{const t=rl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=il(s);if(!r)return;const o=t._component;!F(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function il(e){return Q(e)?document.querySelector(e):e}const Tt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Rs={},ll=function(e){if(!Rs[e]){Rs[e]=!0;const t=document.getElementsByTagName("head")[0],n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)}},cl={props:["name"],data(){return{l_group:"",l_name:""}},mounted(){this.init()},beforeUpdate(){this.init()},watch:{name(){this.init()}},methods:{init(){if(this.name&&this.name!==""){const e=this.name.split("@");e.length>1&&(this.l_group=e[1],this.l_name=e[0]),this.l_group&&this.loadCss()}},loadCss(){let e=self.iconFont||"https://icon.sumor.com/group";ll(`${e}/${this.l_group}/style.css`)}}};function fl(e,t,n,s,r,o){return S(),$("i",{class:me("si-"+r.l_group+"-"+r.l_name)},null,2)}const rn=Tt(cl,[["render",fl]]);const ul={components:{Icon:rn},props:["api"],data(){return{called:!1,activeStatus:{},showResponse:{},data:{},response:{},token:{}}},async mounted(){this.init()},watch:{api(){this.init()}},methods:{init(){},open(e){for(let t in this.activeStatus)t!==e&&(this.activeStatus[t]=!1);this.activeStatus[e]=!this.activeStatus[e],this.data={}},async uploadFile(e){const t=await sumor.upload();this.data[e]=t[0]},async submit(e){const t=this.api.filter(s=>s.path===e)[0].parameters;for(let s of t)s.type==="number"&&this.data[s.key]&&(this.data[s.key]=parseFloat(this.data[s.key]),isNaN(this.data[s.key])&&(this.data[s.key]=null));const n=await this.callApi(e,this.data);this.response[e]=n,n.code==="OK"&&(n.message="调用成功"),this.showResponse[e]=!0},async callApi(e,t){const n=await sumor.call(e,t);return e.indexOf("login")>=0&&await sumor.update("token"),n},onTextareaInput(e){e.target.style.height="auto",e.target.style.height=e.target.scrollHeight+"px"}}},al=["onClick"],dl={class:"left"},hl={class:"path"},pl={class:"name"},gl={class:"collect"},_l={key:0,class:"detail"},ml={class:"item desc"},bl={class:"tabs"},yl=["onClick"],xl=["onClick"],vl={key:0,class:"tabContent"},Cl={key:0,class:"item"},wl={class:"item"},El={class:"label"},Tl={key:0,class:"required"},Il={key:1,class:"help"},Ol={class:"popup"},Al={key:0,class:"input"},kl=["onUpdate:modelValue"],Fl=["onUpdate:modelValue"],Ml={key:1,class:"uploaderText"},Pl=["onClick"],Ll={class:"item"},Rl=["onClick"],Nl={key:1,class:"tabContent"},Sl={key:0,class:"item"},Bl={class:"item"},Hl={class:"icon"},jl={class:"text"},Ul={class:"text"},Dl={key:0,class:"response"};function Kl(e,t,n,s,r,o){const i=Ge("Icon");return S(!0),$(re,null,En(n.api,l=>(S(),$("div",{class:me(["card",{active:!!r.activeStatus[l.path]}])},[P("div",{class:"title",onClick:f=>o.open(l.path)},[P("div",dl,[P("div",hl,se(l.path),1),P("div",pl,se(l.name),1)]),P("div",gl,[Z(i,{name:"angle-down@themify"})])],8,al),r.activeStatus[l.path]?(S(),$("div",_l,[P("div",ml,se(l.desc),1),P("div",bl,[P("div",{class:me(["tab",{active:!r.showResponse[l.path]}]),onClick:f=>r.showResponse[l.path]=!1},"调用",10,yl),P("div",{class:me(["tab",{active:!!r.showResponse[l.path]}]),onClick:f=>r.showResponse[l.path]=!0},"结果",10,xl)]),r.showResponse[l.path]?ne("",!0):(S(),$("div",vl,[r.called?ne("",!0):(S(),$(re,{key:0},[l.parameters.length===0?(S(),$("div",Cl,"该接口无参数,请直接点击调用")):(S(!0),$(re,{key:1},En(l.parameters,f=>(S(),$("div",wl,[P("div",El,[P("div",null,se(f.key)+" "+se(f.name),1),f.required?(S(),$("div",Tl,"*")):ne("",!0),f.desc?(S(),$("div",Il,[Z(i,{name:"question-circle-o@font_awesome"}),P("div",Ol,se(f.desc),1)])):ne("",!0)]),f.type!=="file"?(S(),$("div",Al,[f.length&&f.length>100?hs((S(),$("textarea",{key:0,"onUpdate:modelValue":a=>r.data[f.key]=a,onInput:t[0]||(t[0]=(...a)=>o.onTextareaInput&&o.onTextareaInput(...a))},null,40,kl)),[[Ps,r.data[f.key]]]):hs((S(),$("input",{key:1,"onUpdate:modelValue":a=>r.data[f.key]=a},null,8,Fl)),[[Ps,r.data[f.key]]])])):ne("",!0),f.type==="file"?(S(),$("div",Ml,[P("div",{onClick:a=>o.uploadFile(f.key)},se(r.data[f.key]?r.data[f.key].name:"点击上传"),9,Pl)])):ne("",!0)]))),256)),P("div",Ll,[P("div",{class:"button",onClick:f=>o.submit(l.path)},"调用接口",8,Rl)])],64))])),r.showResponse[l.path]?(S(),$("div",Nl,[r.response[l.path]?ne("",!0):(S(),$("div",Sl,"暂无结果,请重新尝试调用接口")),r.response[l.path]?(S(),$(re,{key:1},[P("div",Bl,[P("div",{class:me(["alert",{error:r.response[l.path].error}])},[P("div",Hl,[Z(i,{name:r.response[l.path].error?"close-outline@zondicons":"checkmark-outline@zondicons"},null,8,["name"])]),P("div",jl,se(r.response[l.path].code),1),P("div",Ul,se(r.response[l.path].message),1)],2)]),r.response[l.path].data?(S(),$("pre",Dl,se(r.response[l.path].data),1)):ne("",!0)],64)):ne("",!0)])):ne("",!0)])):ne("",!0)],2))),256)}const $l=Tt(ul,[["render",Kl],["__scopeId","data-v-2dc841e6"]]);const Wl={components:{Icon:rn},data(){return{visible:!1,list:[]}},async mounted(){this.list=await sumor.range("sumor.language")},computed:{language(){return sumor.store.sumor.language},languageText(){const e=sumor.store.sumor.language,t=this.list.filter(n=>n.key===e)[0];return t?t.text1||t.text:e}},methods:{select(e){this.visible=!1,sumor.set("sumor.language",e)}}},zl={class:"icon"},Vl={class:"text"},ql={class:"title"},Jl={class:"popupContent"},Yl=["onClick"];function Xl(e,t,n,s,r,o){const i=Ge("Icon");return S(),$(re,null,[P("div",{class:me(["selector",{active:r.visible===!0}]),onClick:t[0]||(t[0]=l=>r.visible=!0)},[P("div",zl,[Z(i,{name:"globe@zondicons"})]),P("div",Vl,se(o.languageText),1)],2),r.visible?(S(),$("div",{key:0,class:"popup",onClick:t[3]||(t[3]=l=>r.visible=!1)},[P("div",{class:"inner",onClick:t[2]||(t[2]=l=>l.stopPropagation())},[P("div",ql,[Wt("选择语言地区"),P("span",{onClick:t[1]||(t[1]=l=>r.visible=!1)},[Z(i,{name:"close@themify"})])]),P("div",Jl,[(S(!0),$(re,null,En(r.list,l=>(S(),$("div",{class:"item",onClick:f=>o.select(l.key)},[Wt(se(l.key)+" "+se(l.text)+" "+se(l.text1),1),Z(i,{name:"angle-right@themify"})],8,Yl))),256))])])])):ne("",!0)],64)}const Zl=Tt(Wl,[["render",Xl],["__scopeId","data-v-78b95bd1"]]);const Ql={components:{Icon:rn},props:[],data(){return{dark:!1}},mounted(){setInterval(()=>{this.dark=sumor.store.sumor.dark},100)},methods:{change(){sumor.set("sumor.dark",!sumor.store.sumor.dark)}}},Gl={class:"SumorDarkButton"};function ec(e,t,n,s,r,o){const i=Ge("Icon");return S(),$("div",Gl,[P("div",{class:"inner",onClick:t[0]||(t[0]=(...l)=>o.change&&o.change(...l))},[P("div",{class:me(["box",{active:!r.dark}])},[r.dark?(S(),mt(i,{key:0,name:"sun@meteocons"})):ne("",!0),r.dark?ne("",!0):(S(),mt(i,{key:1,name:"sun2@meteocons"}))],2),P("div",{class:me(["box",{active:r.dark}])},[r.dark?ne("",!0):(S(),mt(i,{key:0,name:"moon@meteocons"})),r.dark?(S(),mt(i,{key:1,name:"moon1@meteocons"})):ne("",!0)],2)])])}const tc=Tt(Ql,[["render",ec],["__scopeId","data-v-f259a7a2"]]);const nc={components:{DarkButton:tc,Icon:rn,LanguageSelector:Zl,List:$l},data(){return{title:"",api:[]}},async mounted(){this.init(),await sumor.update("meta"),this.init(),await sumor.update("token")},computed:{user(){return sumor.store.sumor.token.nickname||sumor.store.sumor.token.user}},methods:{init(){const e=sumor.store.sumor.meta,t=e.api||{},n=[];for(let s in t){const r=t[s],o=[];if(r.parameters)for(let i in r.parameters)o.push({key:i,...r.parameters[i]});n.push({path:s,name:r.name,desc:r.desc,parameters:o})}this.api=n,this.title=`${e.name||"轻呈云应用"}接口 (${this.api.length})`,document.title=this.title},async clickLoginButton(){this.user&&await sumor.logout()}}},sc={class:"frame"},rc={class:"bar"},oc={class:"title"},ic={class:"more"},lc={class:"icon"},cc={class:"content"};function fc(e,t,n,s,r,o){const i=Ge("DarkButton"),l=Ge("LanguageSelector"),f=Ge("Icon"),a=Ge("List");return S(),$("div",sc,[P("div",rc,[P("div",oc,se(r.title),1),P("div",ic,[Z(i),Z(l),P("div",{class:me(["button",{success:o.user}]),onClick:t[0]||(t[0]=(...g)=>o.clickLoginButton&&o.clickLoginButton(...g))},[P("span",lc,[Z(f,{name:o.user?"unlocked@icomoon":"lock@icomoon"},null,8,["name"])]),Wt(se(o.user?o.user+" 已登录":"未登录"),1)],2)])]),P("div",cc,[Z(a,{api:r.api},null,8,["api"])])])}const uc=Tt(nc,[["render",fc],["__scopeId","data-v-7d2f5257"]]);sumor.init({reactive:Xt});const kr=ol(uc);kr.config.globalProperties.sumor=sumor;kr.mount("#app");
@@ -1 +0,0 @@
1
- @charset "UTF-8";.alert[data-v-2dc841e6]{height:30px;width:100%;background:rgba(43,198,26,.5);border-radius:4px;overflow:hidden;color:#f8f9fa;display:flex;align-items:center}.alert .icon[data-v-2dc841e6]{background:#2BC61A;width:30px;height:100%;display:flex;align-items:center;justify-content:center}.alert .text[data-v-2dc841e6]{padding-left:10px}.alert.error[data-v-2dc841e6]{background:rgba(184,28,33,.5)}.alert.error .icon[data-v-2dc841e6]{background:#b81c21}.selector[data-v-78b95bd1]{border-radius:4px;padding:2px 5px;display:flex;align-items:center;cursor:pointer}.selector .icon[data-v-78b95bd1]{padding:0 5px;font-size:16px}.selector[data-v-78b95bd1]:hover,.selector.active[data-v-78b95bd1]{background:#f8f9fa;color:#1b232e}.popup[data-v-78b95bd1]{position:fixed;width:100vw;height:100vh;background:rgba(0,0,0,.3);top:0;left:0;display:flex;align-items:center;justify-content:center}.popup .inner[data-v-78b95bd1]{width:80vw;max-width:500px;height:80vh;background:#f8f9fa;border-radius:4px;color:#1b232e}.popup .title[data-v-78b95bd1]{padding:10px;display:flex;justify-content:space-between;font-size:18px;border-bottom:1px solid #ddd;height:50px}.popup .title span[data-v-78b95bd1]{padding:0 5px}.popup .popupContent[data-v-78b95bd1]{height:calc(100% - 50px);overflow:auto}.popup .item[data-v-78b95bd1]{padding:5px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;font-size:16px}.SumorDarkButton[data-v-f259a7a2]{padding:0 10px}.SumorDarkButton .inner[data-v-f259a7a2]{border-radius:50px;display:flex;justify-content:space-between;border:2px solid #f8f9fa;font-size:18px;line-height:14px;overflow:hidden;background-color:#f8f9fa}.SumorDarkButton .box[data-v-f259a7a2]{padding:0 3px;background-color:#009688;color:#f8f9fa}.SumorDarkButton .box.active[data-v-f259a7a2]{background-color:#f8f9fa;color:#009688}.SumorDark .SumorDarkButton .box[data-v-f259a7a2]{background-color:#1b232e}.SumorDark .SumorDarkButton .box.active[data-v-f259a7a2]{background-color:#f8f9fa;color:#1b232e}.frame .content[data-v-7d2f5257]{background-image:url(./bg-e56bf4a7.png)}html{--color-blue: #50a1ff;--color-indigo: #6610f2;--color-purple: #926dde;--color-pink: #e83e8c;--color-red: #ff4954;--color-orange: #ffbe00;--color-yellow: #ffba00;--color-green: #3cd458;--color-teal: #20c997;--color-cyan: #17a2b8;--color-white: #fff;--color-gray: #868e96;--color-gray-dark: #343a40;--color-primary: #3f51b5;--color-secondary: #e9ecf0;--color-success: #3cd458;--color-info: #926dde;--color-warning: #ffba00;--color-danger: #ff4954;--color-light: #f8f9fa;--color-dark: #273343;--color-background: #f8f8f8;--font-size: 14px;--font-size-small: 12px;--font-size-large: 16px;--border-radius: 2px}*{box-sizing:border-box;outline:none}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-variant:tabular-nums;line-height:1.5715;font-feature-settings:"tnum";transition:background 1s cubic-bezier(.075,.82,.165,1);overflow-x:hidden;font-weight:400}body{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;-moz-text-size-adjust:100%!important}[tabindex="-1"]:focus{outline:none!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:#1b232e;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{text-decoration:none;outline:none;cursor:pointer;transition:color .3s;-webkit-text-decoration-skip:objects}a:active,a:hover{text-decoration:none;outline:0}a:focus{text-decoration:none;outline:0}a[disabled]{color:#1b232e;cursor:not-allowed}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:#1b232e;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#f8f9fa}html{-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;text-align:left}a{transition:color .3s ease}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{margin:0;padding:0}ul,ol{list-style:none}html.rtl{direction:rtl}html{font-size:14px;color:#1b232e;background-color:#f8f9fa}html a{color:#1b232e;background-color:transparent}html a:hover{color:#1b232ee6}html a:active{color:#1b232ecc}html.dark{color:#f8f9fa;background-color:#1b232e}html.dark a{color:#f8f9fa}html.dark a:hover{color:#f8f9fae6}html.dark a:active{color:#f8f9facc}.frame{position:absolute;top:0;left:0;width:100vw;height:100vh;color:#f8f9fa;background-color:#009688}.bar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:rgba(0,0,0,.1);user-select:none}.bar .title{font-size:18px}.bar .more{display:flex;align-items:center}.bar .button{margin-left:10px;padding:2px 5px;cursor:pointer;border-radius:4px}.bar .button .icon{padding:0 5px;font-size:16px}.bar .button:hover,.bar .button.active{background:#f8f9fa;color:#1b232e}.bar .button.success{color:#2bc61a}.bar .button.success .icon{padding-left:2px;padding-right:3px}@media screen and (max-width: 400px){.bar{display:block}}.content{height:calc(100% - 60px);width:100%;padding:10px;overflow:auto;background-size:100%;background-position-y:100%}.card{background:#f8f9fa;color:#1b232e;border-radius:4px;padding:10px;margin-bottom:10px;transition:all .3s}.card .title{display:flex;align-items:center;justify-content:space-between;padding:0 5px;font-size:16px;user-select:none;cursor:pointer}.card .title .left{display:flex}.card .title .path{color:#009688;font-weight:600;letter-spacing:.5px}.card .title .name{padding:0 10px}.card .title .collect{transition:all .3s}.card .tabs{display:flex;padding:0 10px;user-select:none}.card .tabs .tab{border-top-left-radius:4px;border-top-right-radius:4px;background:#f8f9fa;color:#1b232e;padding:1px 10px;cursor:pointer}.card .tabs .tab.active{color:#f8f9fa;background:#009688}.card .tabContent{width:calc(100% - 20px);background:rgba(0,0,0,.1);margin-left:10px;border-radius:0 4px 4px;padding-bottom:10px}.card .detail{margin-top:5px;border-radius:4px;background:rgba(0,0,0,.05);width:100%;padding-bottom:10px;display:flex;flex-direction:column;align-items:flex-start}.card .detail .item{display:flex;padding:10px 10px 0;align-items:start;flex-direction:column}.card .detail .input,.card .detail .input input,.card .detail .input textarea{width:100%}.card .detail .input textarea{min-height:100px;max-height:60vh}.card .detail .desc{padding:10px;font-size:16px;user-select:none}.card .detail .label{padding-right:5px;display:flex;align-items:flex-start;user-select:none}.card .detail .required{color:#b81c21;font-weight:600;font-size:16px;line-height:16px}.card .detail .button{padding:5px 10px;background:#009688;color:#f8f9fa;border-radius:4px;cursor:pointer;user-select:none}.card .detail .response{width:calc(100% - 20px);border-radius:4px;background:rgba(0,0,0,.1);margin:10px 10px 0;padding:10px;max-height:400px;overflow-y:auto}.card .detail .help{position:relative;margin-left:3px}.card .detail .help .popup{display:none;position:absolute;width:200px;background:#fff;border-radius:2px;padding:5px;box-shadow:0 0 5px #0000004d}.card .detail .help:hover .popup{display:block}.card.active .collect{transform:rotate(180deg)}.SumorDark .frame{background-color:#1b232e}.SumorDark .card{background:#282828;color:#f8f9fa}.SumorDark .card .tabs .tab{background:#1b232e;color:#f8f9fa}.SumorDark .card .tabs .tab.active{color:#f8f9fa;background:#009688}.SumorDark input,.SumorDark textarea{background-color:#f8f9fa4d;border:0}
@@ -1 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();function kn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}function Mn(e){if(F(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=G(s)?Nr(s):Mn(s);if(r)for(const o in r)t[o]=r[o]}return t}else{if(G(e))return e;if(z(e))return e}}const Mr=/;(?![^(]*\))/g,Lr=/:([^]+)/,Rr=/\/\*.*?\*\//gs;function Nr(e){const t={};return e.replace(Rr,"").split(Mr).forEach(n=>{if(n){const s=n.split(Lr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function me(e){let t="";if(G(e))t=e;else if(F(e))for(let n=0;n<e.length;n++){const s=me(e[n]);s&&(t+=s+" ")}else if(z(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Sr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Br=kn(Sr);function Ns(e){return!!e||e===""}const se=e=>G(e)?e:e==null?"":F(e)||z(e)&&(e.toString===js||!P(e.toString))?JSON.stringify(e,Ss,2):String(e),Ss=(e,t)=>t&&t.__v_isRef?Ss(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Bs(t)?{[`Set(${t.size})`]:[...t.values()]}:z(t)&&!F(t)&&!Us(t)?String(t):t,W={},it=[],we=()=>{},Hr=()=>!1,jr=/^on[^a-z]/,Wt=e=>jr.test(e),Ln=e=>e.startsWith("onUpdate:"),ie=Object.assign,Rn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ur=Object.prototype.hasOwnProperty,N=(e,t)=>Ur.call(e,t),F=Array.isArray,lt=e=>zt(e)==="[object Map]",Bs=e=>zt(e)==="[object Set]",P=e=>typeof e=="function",G=e=>typeof e=="string",Nn=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",Hs=e=>z(e)&&P(e.then)&&P(e.catch),js=Object.prototype.toString,zt=e=>js.call(e),Dr=e=>zt(e).slice(8,-1),Us=e=>zt(e)==="[object Object]",Sn=e=>G(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rt=kn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Vt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Kr=/-(\w)/g,ke=Vt(e=>e.replace(Kr,(t,n)=>n?n.toUpperCase():"")),$r=/\B([A-Z])/g,at=Vt(e=>e.replace($r,"-$1").toLowerCase()),qt=Vt(e=>e.charAt(0).toUpperCase()+e.slice(1)),ln=Vt(e=>e?`on${qt(e)}`:""),jt=(e,t)=>!Object.is(e,t),Nt=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Ut=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},gn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ns;const Wr=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let xe;class zr{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=xe,!t&&xe&&(this.index=(xe.scopes||(xe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=xe;try{return xe=this,t()}finally{xe=n}}}on(){xe=this}off(){xe=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this._active=!1}}}function Vr(e,t=xe){t&&t.active&&t.effects.push(e)}function qr(){return xe}const Bn=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Ds=e=>(e.w&Ke)>0,Ks=e=>(e.n&Ke)>0,Jr=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Ke},Yr=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Ds(r)&&!Ks(r)?r.delete(e):t[n++]=r,r.w&=~Ke,r.n&=~Ke}t.length=n}},_n=new WeakMap;let _t=0,Ke=1;const mn=30;let ve;const et=Symbol(""),bn=Symbol("");class Hn{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,Vr(this,s)}run(){if(!this.active)return this.fn();let t=ve,n=Ue;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=ve,ve=this,Ue=!0,Ke=1<<++_t,_t<=mn?Jr(this):ss(this),this.fn()}finally{_t<=mn&&Yr(this),Ke=1<<--_t,ve=this.parent,Ue=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){ve===this?this.deferStop=!0:this.active&&(ss(this),this.onStop&&this.onStop(),this.active=!1)}}function ss(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let Ue=!0;const $s=[];function dt(){$s.push(Ue),Ue=!1}function ht(){const e=$s.pop();Ue=e===void 0?!0:e}function ae(e,t,n){if(Ue&&ve){let s=_n.get(e);s||_n.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Bn()),Ws(r)}}function Ws(e,t){let n=!1;_t<=mn?Ks(e)||(e.n|=Ke,n=!Ds(e)):n=!e.has(ve),n&&(e.add(ve),ve.deps.push(e))}function Ne(e,t,n,s,r,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&F(e)){const f=Number(s);i.forEach((a,g)=>{(g==="length"||g>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":F(e)?Sn(n)&&l.push(i.get("length")):(l.push(i.get(et)),lt(e)&&l.push(i.get(bn)));break;case"delete":F(e)||(l.push(i.get(et)),lt(e)&&l.push(i.get(bn)));break;case"set":lt(e)&&l.push(i.get(et));break}if(l.length===1)l[0]&&yn(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);yn(Bn(f))}}function yn(e,t){const n=F(e)?e:[...e];for(const s of n)s.computed&&rs(s);for(const s of n)s.computed||rs(s)}function rs(e,t){(e!==ve||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Xr=kn("__proto__,__v_isRef,__isVue"),zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nn)),Zr=jn(),Qr=jn(!1,!0),Gr=jn(!0),os=eo();function eo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=B(this);for(let o=0,i=this.length;o<i;o++)ae(s,"get",o+"");const r=s[t](...n);return r===-1||r===!1?s[t](...n.map(B)):r}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){dt();const s=B(this)[t].apply(this,n);return ht(),s}}),e}function to(e){const t=B(this);return ae(t,"has",e),t.hasOwnProperty(e)}function jn(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?bo:Xs:t?Ys:Js).get(s))return s;const i=F(s);if(!e){if(i&&N(os,r))return Reflect.get(os,r,o);if(r==="hasOwnProperty")return to}const l=Reflect.get(s,r,o);return(Nn(r)?zs.has(r):Xr(r))||(e||ae(s,"get",r),t)?l:fe(l)?i&&Sn(r)?l:l.value:z(l)?e?Zs(l):Yt(l):l}}const no=Vs(),so=Vs(!0);function Vs(e=!1){return function(n,s,r,o){let i=n[s];if(xt(i)&&fe(i)&&!fe(r))return!1;if(!e&&(!xn(r)&&!xt(r)&&(i=B(i),r=B(r)),!F(n)&&fe(i)&&!fe(r)))return i.value=r,!0;const l=F(n)&&Sn(s)?Number(s)<n.length:N(n,s),f=Reflect.set(n,s,r,o);return n===B(o)&&(l?jt(r,i)&&Ne(n,"set",s,r):Ne(n,"add",s,r)),f}}function ro(e,t){const n=N(e,t);e[t];const s=Reflect.deleteProperty(e,t);return s&&n&&Ne(e,"delete",t,void 0),s}function oo(e,t){const n=Reflect.has(e,t);return(!Nn(t)||!zs.has(t))&&ae(e,"has",t),n}function io(e){return ae(e,"iterate",F(e)?"length":et),Reflect.ownKeys(e)}const qs={get:Zr,set:no,deleteProperty:ro,has:oo,ownKeys:io},lo={get:Gr,set(e,t){return!0},deleteProperty(e,t){return!0}},co=ie({},qs,{get:Qr,set:so}),Un=e=>e,Jt=e=>Reflect.getPrototypeOf(e);function At(e,t,n=!1,s=!1){e=e.__v_raw;const r=B(e),o=B(t);n||(t!==o&&ae(r,"get",t),ae(r,"get",o));const{has:i}=Jt(r),l=s?Un:n?Wn:$n;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Ft(e,t=!1){const n=this.__v_raw,s=B(n),r=B(e);return t||(e!==r&&ae(s,"has",e),ae(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Pt(e,t=!1){return e=e.__v_raw,!t&&ae(B(e),"iterate",et),Reflect.get(e,"size",e)}function is(e){e=B(e);const t=B(this);return Jt(t).has.call(t,e)||(t.add(e),Ne(t,"add",e,e)),this}function ls(e,t){t=B(t);const n=B(this),{has:s,get:r}=Jt(n);let o=s.call(n,e);o||(e=B(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?jt(t,i)&&Ne(n,"set",e,t):Ne(n,"add",e,t),this}function cs(e){const t=B(this),{has:n,get:s}=Jt(t);let r=n.call(t,e);r||(e=B(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ne(t,"delete",e,void 0),o}function fs(){const e=B(this),t=e.size!==0,n=e.clear();return t&&Ne(e,"clear",void 0,void 0),n}function kt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=B(i),f=t?Un:e?Wn:$n;return!e&&ae(l,"iterate",et),i.forEach((a,g)=>s.call(r,f(a),f(g),o))}}function Mt(e,t,n){return function(...s){const r=this.__v_raw,o=B(r),i=lt(o),l=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,a=r[e](...s),g=n?Un:t?Wn:$n;return!t&&ae(o,"iterate",f?bn:et),{next(){const{value:x,done:C}=a.next();return C?{value:x,done:C}:{value:l?[g(x[0]),g(x[1])]:g(x),done:C}},[Symbol.iterator](){return this}}}}function He(e){return function(...t){return e==="delete"?!1:this}}function fo(){const e={get(o){return At(this,o)},get size(){return Pt(this)},has:Ft,add:is,set:ls,delete:cs,clear:fs,forEach:kt(!1,!1)},t={get(o){return At(this,o,!1,!0)},get size(){return Pt(this)},has:Ft,add:is,set:ls,delete:cs,clear:fs,forEach:kt(!1,!0)},n={get(o){return At(this,o,!0)},get size(){return Pt(this,!0)},has(o){return Ft.call(this,o,!0)},add:He("add"),set:He("set"),delete:He("delete"),clear:He("clear"),forEach:kt(!0,!1)},s={get(o){return At(this,o,!0,!0)},get size(){return Pt(this,!0)},has(o){return Ft.call(this,o,!0)},add:He("add"),set:He("set"),delete:He("delete"),clear:He("clear"),forEach:kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Mt(o,!1,!1),n[o]=Mt(o,!0,!1),t[o]=Mt(o,!1,!0),s[o]=Mt(o,!0,!0)}),[e,n,t,s]}const[uo,ao,ho,po]=fo();function Dn(e,t){const n=t?e?po:ho:e?ao:uo;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(N(n,r)&&r in s?n:s,r,o)}const go={get:Dn(!1,!1)},_o={get:Dn(!1,!0)},mo={get:Dn(!0,!1)},Js=new WeakMap,Ys=new WeakMap,Xs=new WeakMap,bo=new WeakMap;function yo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function xo(e){return e.__v_skip||!Object.isExtensible(e)?0:yo(Dr(e))}function Yt(e){return xt(e)?e:Kn(e,!1,qs,go,Js)}function vo(e){return Kn(e,!1,co,_o,Ys)}function Zs(e){return Kn(e,!0,lo,mo,Xs)}function Kn(e,t,n,s,r){if(!z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=xo(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function ct(e){return xt(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function xt(e){return!!(e&&e.__v_isReadonly)}function xn(e){return!!(e&&e.__v_isShallow)}function Qs(e){return ct(e)||xt(e)}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function Gs(e){return Ut(e,"__v_skip",!0),e}const $n=e=>z(e)?Yt(e):e,Wn=e=>z(e)?Zs(e):e;function Co(e){Ue&&ve&&(e=B(e),Ws(e.dep||(e.dep=Bn())))}function wo(e,t){e=B(e);const n=e.dep;n&&yn(n)}function fe(e){return!!(e&&e.__v_isRef===!0)}function Eo(e){return fe(e)?e.value:e}const To={get:(e,t,n)=>Eo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function er(e){return ct(e)?e:new Proxy(e,To)}var tr;class Oo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[tr]=!1,this._dirty=!0,this.effect=new Hn(t,()=>{this._dirty||(this._dirty=!0,wo(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=B(this);return Co(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}tr="__v_isReadonly";function Io(e,t,n=!1){let s,r;const o=P(e);return o?(s=e,r=we):(s=e.get,r=e.set),new Oo(s,r,o||!r,n)}function De(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Xt(o,t,n)}return r}function be(e,t,n,s){if(P(e)){const o=De(e,t,n,s);return o&&Hs(o)&&o.catch(i=>{Xt(i,t,n)}),o}const r=[];for(let o=0;o<e.length;o++)r.push(be(e[o],t,n,s));return r}function Xt(e,t,n,s=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const i=t.proxy,l=n;for(;o;){const a=o.ec;if(a){for(let g=0;g<a.length;g++)if(a[g](e,i,l)===!1)return}o=o.parent}const f=t.appContext.config.errorHandler;if(f){De(f,null,10,[e,i,l]);return}}Ao(e,n,r,s)}function Ao(e,t,n,s=!0){console.error(e)}let vt=!1,vn=!1;const oe=[];let Pe=0;const ft=[];let Re=null,Ye=0;const nr=Promise.resolve();let zn=null;function Fo(e){const t=zn||nr;return e?t.then(this?e.bind(this):e):t}function Po(e){let t=Pe+1,n=oe.length;for(;t<n;){const s=t+n>>>1;Ct(oe[s])<e?t=s+1:n=s}return t}function Vn(e){(!oe.length||!oe.includes(e,vt&&e.allowRecurse?Pe+1:Pe))&&(e.id==null?oe.push(e):oe.splice(Po(e.id),0,e),sr())}function sr(){!vt&&!vn&&(vn=!0,zn=nr.then(or))}function ko(e){const t=oe.indexOf(e);t>Pe&&oe.splice(t,1)}function Mo(e){F(e)?ft.push(...e):(!Re||!Re.includes(e,e.allowRecurse?Ye+1:Ye))&&ft.push(e),sr()}function us(e,t=vt?Pe+1:0){for(;t<oe.length;t++){const n=oe[t];n&&n.pre&&(oe.splice(t,1),t--,n())}}function rr(e){if(ft.length){const t=[...new Set(ft)];if(ft.length=0,Re){Re.push(...t);return}for(Re=t,Re.sort((n,s)=>Ct(n)-Ct(s)),Ye=0;Ye<Re.length;Ye++)Re[Ye]();Re=null,Ye=0}}const Ct=e=>e.id==null?1/0:e.id,Lo=(e,t)=>{const n=Ct(e)-Ct(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function or(e){vn=!1,vt=!0,oe.sort(Lo);const t=we;try{for(Pe=0;Pe<oe.length;Pe++){const n=oe[Pe];n&&n.active!==!1&&De(n,null,14)}}finally{Pe=0,oe.length=0,rr(),vt=!1,zn=null,(oe.length||ft.length)&&or()}}function Ro(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||W;let r=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in s){const g=`${i==="modelValue"?"model":i}Modifiers`,{number:x,trim:C}=s[g]||W;C&&(r=n.map(A=>G(A)?A.trim():A)),x&&(r=n.map(gn))}let l,f=s[l=ln(t)]||s[l=ln(ke(t))];!f&&o&&(f=s[l=ln(at(t))]),f&&be(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(a,e,6,r)}}function ir(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!P(e)){const f=a=>{const g=ir(a,t,!0);g&&(l=!0,ie(i,g))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!l?(z(e)&&s.set(e,null),null):(F(o)?o.forEach(f=>i[f]=null):ie(i,o),z(e)&&s.set(e,i),i)}function Zt(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),N(e,t[0].toLowerCase()+t.slice(1))||N(e,at(t))||N(e,t))}let pe=null,lr=null;function Dt(e){const t=pe;return pe=e,lr=e&&e.type.__scopeId||null,t}function No(e,t=pe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&vs(-1);const o=Dt(t);let i;try{i=e(...r)}finally{Dt(o),s._d&&vs(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function cn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:f,emit:a,render:g,renderCache:x,data:C,setupState:A,ctx:H,inheritAttrs:O}=e;let X,U;const ge=Dt(e);try{if(n.shapeFlag&4){const V=r||s;X=Fe(g.call(V,V,x,o,A,C,H)),U=f}else{const V=t;X=Fe(V.length>1?V(o,{attrs:f,slots:l,emit:a}):V(o,null)),U=t.props?f:So(f)}}catch(V){yt.length=0,Xt(V,e,1),X=Q(Ee)}let k=X;if(U&&O!==!1){const V=Object.keys(U),{shapeFlag:te}=k;V.length&&te&7&&(i&&V.some(Ln)&&(U=Bo(U,i)),k=$e(k,U))}return n.dirs&&(k=$e(k),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&(k.transition=n.transition),X=k,Dt(ge),X}const So=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},Bo=(e,t)=>{const n={};for(const s in e)(!Ln(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ho(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:f}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?as(s,i,a):!!i;if(f&8){const g=t.dynamicProps;for(let x=0;x<g.length;x++){const C=g[x];if(i[C]!==s[C]&&!Zt(a,C))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?as(s,i,a):!0:!!i;return!1}function as(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(t[o]!==e[o]&&!Zt(n,o))return!0}return!1}function jo({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const Uo=e=>e.__isSuspense;function Do(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):Mo(e)}function Ko(e,t){if(Y){let n=Y.provides;const s=Y.parent&&Y.parent.provides;s===n&&(n=Y.provides=Object.create(s)),n[e]=t}}function St(e,t,n=!1){const s=Y||pe;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&P(t)?t.call(s.proxy):t}}const Lt={};function fn(e,t,n){return cr(e,t,n)}function cr(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=W){const l=qr()===(Y==null?void 0:Y.scope)?Y:null;let f,a=!1,g=!1;if(fe(e)?(f=()=>e.value,a=xn(e)):ct(e)?(f=()=>e,s=!0):F(e)?(g=!0,a=e.some(k=>ct(k)||xn(k)),f=()=>e.map(k=>{if(fe(k))return k.value;if(ct(k))return Qe(k);if(P(k))return De(k,l,2)})):P(e)?t?f=()=>De(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return x&&x(),be(e,l,3,[C])}:f=we,t&&s){const k=f;f=()=>Qe(k())}let x,C=k=>{x=U.onStop=()=>{De(k,l,4)}},A;if(Et)if(C=we,t?n&&be(t,l,3,[f(),g?[]:void 0,C]):f(),r==="sync"){const k=ji();A=k.__watcherHandles||(k.__watcherHandles=[])}else return we;let H=g?new Array(e.length).fill(Lt):Lt;const O=()=>{if(U.active)if(t){const k=U.run();(s||a||(g?k.some((V,te)=>jt(V,H[te])):jt(k,H)))&&(x&&x(),be(t,l,3,[k,H===Lt?void 0:g&&H[0]===Lt?[]:H,C]),H=k)}else U.run()};O.allowRecurse=!!t;let X;r==="sync"?X=O:r==="post"?X=()=>ue(O,l&&l.suspense):(O.pre=!0,l&&(O.id=l.uid),X=()=>Vn(O));const U=new Hn(f,X);t?n?O():H=U.run():r==="post"?ue(U.run.bind(U),l&&l.suspense):U.run();const ge=()=>{U.stop(),l&&l.scope&&Rn(l.scope.effects,U)};return A&&A.push(ge),ge}function $o(e,t,n){const s=this.proxy,r=G(e)?e.includes(".")?fr(s,e):()=>s[e]:e.bind(s,s);let o;P(t)?o=t:(o=t.handler,n=t);const i=Y;ut(this);const l=cr(r,o.bind(s),n);return i?ut(i):tt(),l}function fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}function Qe(e,t){if(!z(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),fe(e))Qe(e.value,t);else if(F(e))for(let n=0;n<e.length;n++)Qe(e[n],t);else if(Bs(e)||lt(e))e.forEach(n=>{Qe(n,t)});else if(Us(e))for(const n in e)Qe(e[n],t);return e}function Wo(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return hr(()=>{e.isMounted=!0}),pr(()=>{e.isUnmounting=!0}),e}const _e=[Function,Array],zo={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:_e,onEnter:_e,onAfterEnter:_e,onEnterCancelled:_e,onBeforeLeave:_e,onLeave:_e,onAfterLeave:_e,onLeaveCancelled:_e,onBeforeAppear:_e,onAppear:_e,onAfterAppear:_e,onAppearCancelled:_e},setup(e,{slots:t}){const n=Pi(),s=Wo();let r;return()=>{const o=t.default&&ar(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==Ee){i=O;break}}const l=B(e),{mode:f}=l;if(s.isLeaving)return un(i);const a=ds(i);if(!a)return un(i);const g=Cn(a,l,s,n);wn(a,g);const x=n.subTree,C=x&&ds(x);let A=!1;const{getTransitionKey:H}=a.type;if(H){const O=H();r===void 0?r=O:O!==r&&(r=O,A=!0)}if(C&&C.type!==Ee&&(!Xe(a,C)||A)){const O=Cn(C,l,s,n);if(wn(C,O),f==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},un(i);f==="in-out"&&a.type!==Ee&&(O.delayLeave=(X,U,ge)=>{const k=ur(s,C);k[String(C.key)]=C,X._leaveCb=()=>{U(),X._leaveCb=void 0,delete g.delayedLeave},g.delayedLeave=ge})}return i}}},Vo=zo;function ur(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 Cn(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:g,onBeforeLeave:x,onLeave:C,onAfterLeave:A,onLeaveCancelled:H,onBeforeAppear:O,onAppear:X,onAfterAppear:U,onAppearCancelled:ge}=t,k=String(e.key),V=ur(n,e),te=(L,ee)=>{L&&be(L,s,9,ee)},nt=(L,ee)=>{const q=ee[1];te(L,ee),F(L)?L.every(de=>de.length<=1)&&q():L.length<=1&&q()},Be={mode:o,persisted:i,beforeEnter(L){let ee=l;if(!n.isMounted)if(r)ee=O||l;else return;L._leaveCb&&L._leaveCb(!0);const q=V[k];q&&Xe(e,q)&&q.el._leaveCb&&q.el._leaveCb(),te(ee,[L])},enter(L){let ee=f,q=a,de=g;if(!n.isMounted)if(r)ee=X||f,q=U||a,de=ge||g;else return;let Te=!1;const Me=L._enterCb=pt=>{Te||(Te=!0,pt?te(de,[L]):te(q,[L]),Be.delayedLeave&&Be.delayedLeave(),L._enterCb=void 0)};ee?nt(ee,[L,Me]):Me()},leave(L,ee){const q=String(e.key);if(L._enterCb&&L._enterCb(!0),n.isUnmounting)return ee();te(x,[L]);let de=!1;const Te=L._leaveCb=Me=>{de||(de=!0,ee(),Me?te(H,[L]):te(A,[L]),L._leaveCb=void 0,V[q]===e&&delete V[q])};V[q]=e,C?nt(C,[L,Te]):Te()},clone(L){return Cn(L,t,n,s)}};return Be}function un(e){if(Qt(e))return e=$e(e),e.children=null,e}function ds(e){return Qt(e)?e.children?e.children[0]:void 0:e}function wn(e,t){e.shapeFlag&6&&e.component?wn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let s=[],r=0;for(let o=0;o<e.length;o++){let i=e[o];const l=n==null?i.key:String(n)+String(i.key!=null?i.key:o);i.type===re?(i.patchFlag&128&&r++,s=s.concat(ar(i.children,t,l))):(t||i.type!==Ee)&&s.push(l!=null?$e(i,{key:l}):i)}if(r>1)for(let o=0;o<s.length;o++)s[o].patchFlag=-2;return s}const Bt=e=>!!e.type.__asyncLoader,Qt=e=>e.type.__isKeepAlive;function qo(e,t){dr(e,"a",t)}function Jo(e,t){dr(e,"da",t)}function dr(e,t,n=Y){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Gt(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Qt(r.parent.vnode)&&Yo(s,t,n,r),r=r.parent}}function Yo(e,t,n,s){const r=Gt(t,e,s,!0);gr(()=>{Rn(s[t],r)},n)}function Gt(e,t,n=Y,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt(),ut(n);const l=be(t,n,e,i);return tt(),ht(),l});return s?r.unshift(o):r.push(o),o}}const Se=e=>(t,n=Y)=>(!Et||e==="sp")&&Gt(e,(...s)=>t(...s),n),Xo=Se("bm"),hr=Se("m"),Zo=Se("bu"),Qo=Se("u"),pr=Se("bum"),gr=Se("um"),Go=Se("sp"),ei=Se("rtg"),ti=Se("rtc");function ni(e,t=Y){Gt("ec",e,t)}function hs(e,t){const n=pe;if(n===null)return e;const s=nn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,l,f,a=W]=t[o];i&&(P(i)&&(i={mounted:i,updated:i}),i.deep&&Qe(l),r.push({dir:i,instance:s,value:l,oldValue:void 0,arg:f,modifiers:a}))}return e}function Ve(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let f=l.dir[s];f&&(dt(),be(f,n,8,[e.el,l,e,t]),ht())}}const _r="components";function Ge(e,t){return ri(_r,e,!0,t)||e}const si=Symbol();function ri(e,t,n=!0,s=!1){const r=pe||Y;if(r){const o=r.type;if(e===_r){const l=Ni(o,!1);if(l&&(l===t||l===ke(t)||l===qt(ke(t))))return o}const i=ps(r[e]||o[e],t)||ps(r.appContext[e],t);return!i&&s?o:i}}function ps(e,t){return e&&(e[t]||e[ke(t)]||e[qt(ke(t))])}function En(e,t,n,s){let r;const o=n&&n[s];if(F(e)||G(e)){r=new Array(e.length);for(let i=0,l=e.length;i<l;i++)r[i]=t(e[i],i,void 0,o&&o[i])}else if(typeof e=="number"){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,o&&o[i])}else if(z(e))if(e[Symbol.iterator])r=Array.from(e,(i,l)=>t(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,f=i.length;l<f;l++){const a=i[l];r[l]=t(e[a],a,l,o&&o[l])}}else r=[];return n&&(n[s]=r),r}const Tn=e=>e?Ir(e)?nn(e)||e.proxy:Tn(e.parent):null,bt=ie(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=>Tn(e.parent),$root:e=>Tn(e.root),$emit:e=>e.emit,$options:e=>qn(e),$forceUpdate:e=>e.f||(e.f=()=>Vn(e.update)),$nextTick:e=>e.n||(e.n=Fo.bind(e.proxy)),$watch:e=>$o.bind(e)}),an=(e,t)=>e!==W&&!e.__isScriptSetup&&N(e,t),oi={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(an(s,t))return i[t]=1,s[t];if(r!==W&&N(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&N(a,t))return i[t]=3,o[t];if(n!==W&&N(n,t))return i[t]=4,n[t];On&&(i[t]=0)}}const g=bt[t];let x,C;if(g)return t==="$attrs"&&ae(e,"get",t),g(e);if((x=l.__cssModules)&&(x=x[t]))return x;if(n!==W&&N(n,t))return i[t]=4,n[t];if(C=f.config.globalProperties,N(C,t))return C[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return an(r,t)?(r[t]=n,!0):s!==W&&N(s,t)?(s[t]=n,!0):N(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==W&&N(e,i)||an(t,i)||(l=o[0])&&N(l,i)||N(s,i)||N(bt,i)||N(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:N(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let On=!0;function ii(e){const t=qn(e),n=e.proxy,s=e.ctx;On=!1,t.beforeCreate&&gs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:f,inject:a,created:g,beforeMount:x,mounted:C,beforeUpdate:A,updated:H,activated:O,deactivated:X,beforeDestroy:U,beforeUnmount:ge,destroyed:k,unmounted:V,render:te,renderTracked:nt,renderTriggered:Be,errorCaptured:L,serverPrefetch:ee,expose:q,inheritAttrs:de,components:Te,directives:Me,filters:pt}=t;if(a&&li(a,s,null,e.appContext.config.unwrapInjectedRef),i)for(const J in i){const D=i[J];P(D)&&(s[J]=D.bind(n))}if(r){const J=r.call(n,n);z(J)&&(e.data=Yt(J))}if(On=!0,o)for(const J in o){const D=o[J],We=P(D)?D.bind(n,n):P(D.get)?D.get.bind(n,n):we,Ot=!P(D)&&P(D.set)?D.set.bind(n):we,ze=Bi({get:We,set:Ot});Object.defineProperty(s,J,{enumerable:!0,configurable:!0,get:()=>ze.value,set:Oe=>ze.value=Oe})}if(l)for(const J in l)mr(l[J],s,n,J);if(f){const J=P(f)?f.call(n):f;Reflect.ownKeys(J).forEach(D=>{Ko(D,J[D])})}g&&gs(g,e,"c");function le(J,D){F(D)?D.forEach(We=>J(We.bind(n))):D&&J(D.bind(n))}if(le(Xo,x),le(hr,C),le(Zo,A),le(Qo,H),le(qo,O),le(Jo,X),le(ni,L),le(ti,nt),le(ei,Be),le(pr,ge),le(gr,V),le(Go,ee),F(q))if(q.length){const J=e.exposed||(e.exposed={});q.forEach(D=>{Object.defineProperty(J,D,{get:()=>n[D],set:We=>n[D]=We})})}else e.exposed||(e.exposed={});te&&e.render===we&&(e.render=te),de!=null&&(e.inheritAttrs=de),Te&&(e.components=Te),Me&&(e.directives=Me)}function li(e,t,n=we,s=!1){F(e)&&(e=In(e));for(const r in e){const o=e[r];let i;z(o)?"default"in o?i=St(o.from||r,o.default,!0):i=St(o.from||r):i=St(o),fe(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function gs(e,t,n){be(F(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mr(e,t,n,s){const r=s.includes(".")?fr(n,s):()=>n[s];if(G(e)){const o=t[e];P(o)&&fn(r,o)}else if(P(e))fn(r,e.bind(n));else if(z(e))if(F(e))e.forEach(o=>mr(o,t,n,s));else{const o=P(e.handler)?e.handler.bind(n):t[e.handler];P(o)&&fn(r,o,e)}}function qn(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>Kt(f,a,i,!0)),Kt(f,t,i)),z(t)&&o.set(t,f),f}function Kt(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Kt(e,o,n,!0),r&&r.forEach(i=>Kt(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=ci[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ci={data:_s,props:Je,emits:Je,methods:Je,computed:Je,beforeCreate:ce,created:ce,beforeMount:ce,mounted:ce,beforeUpdate:ce,updated:ce,beforeDestroy:ce,beforeUnmount:ce,destroyed:ce,unmounted:ce,activated:ce,deactivated:ce,errorCaptured:ce,serverPrefetch:ce,components:Je,directives:Je,watch:ui,provide:_s,inject:fi};function _s(e,t){return t?e?function(){return ie(P(e)?e.call(this,this):e,P(t)?t.call(this,this):t)}:t:e}function fi(e,t){return Je(In(e),In(t))}function In(e){if(F(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ce(e,t){return e?[...new Set([].concat(e,t))]:t}function Je(e,t){return e?ie(ie(Object.create(null),e),t):t}function ui(e,t){if(!e)return t;if(!t)return e;const n=ie(Object.create(null),e);for(const s in t)n[s]=ce(e[s],t[s]);return n}function ai(e,t,n,s=!1){const r={},o={};Ut(o,tn,1),e.propsDefaults=Object.create(null),br(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:vo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function di(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=B(r),[f]=e.propsOptions;let a=!1;if((s||i>0)&&!(i&16)){if(i&8){const g=e.vnode.dynamicProps;for(let x=0;x<g.length;x++){let C=g[x];if(Zt(e.emitsOptions,C))continue;const A=t[C];if(f)if(N(o,C))A!==o[C]&&(o[C]=A,a=!0);else{const H=ke(C);r[H]=An(f,l,H,A,e,!1)}else A!==o[C]&&(o[C]=A,a=!0)}}}else{br(e,t,r,o)&&(a=!0);let g;for(const x in l)(!t||!N(t,x)&&((g=at(x))===x||!N(t,g)))&&(f?n&&(n[x]!==void 0||n[g]!==void 0)&&(r[x]=An(f,l,x,void 0,e,!0)):delete r[x]);if(o!==l)for(const x in o)(!t||!N(t,x))&&(delete o[x],a=!0)}a&&Ne(e,"set","$attrs")}function br(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let f in t){if(Rt(f))continue;const a=t[f];let g;r&&N(r,g=ke(f))?!o||!o.includes(g)?n[g]=a:(l||(l={}))[g]=a:Zt(e.emitsOptions,f)||(!(f in s)||a!==s[f])&&(s[f]=a,i=!0)}if(o){const f=B(n),a=l||W;for(let g=0;g<o.length;g++){const x=o[g];n[x]=An(r,f,x,a[x],e,!N(a,x))}}return i}function An(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=N(i,"default");if(l&&s===void 0){const f=i.default;if(i.type!==Function&&P(f)){const{propsDefaults:a}=r;n in a?s=a[n]:(ut(r),s=a[n]=f.call(null,t),tt())}else s=f}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===at(n))&&(s=!0))}return s}function yr(e,t,n=!1){const s=t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let f=!1;if(!P(e)){const g=x=>{f=!0;const[C,A]=yr(x,t,!0);ie(i,C),A&&l.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!o&&!f)return z(e)&&s.set(e,it),it;if(F(o))for(let g=0;g<o.length;g++){const x=ke(o[g]);ms(x)&&(i[x]=W)}else if(o)for(const g in o){const x=ke(g);if(ms(x)){const C=o[g],A=i[x]=F(C)||P(C)?{type:C}:Object.assign({},C);if(A){const H=xs(Boolean,A.type),O=xs(String,A.type);A[0]=H>-1,A[1]=O<0||H<O,(H>-1||N(A,"default"))&&l.push(x)}}}const a=[i,l];return z(e)&&s.set(e,a),a}function ms(e){return e[0]!=="$"}function bs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ys(e,t){return bs(e)===bs(t)}function xs(e,t){return F(t)?t.findIndex(n=>ys(n,e)):P(t)&&ys(t,e)?0:-1}const xr=e=>e[0]==="_"||e==="$stable",Jn=e=>F(e)?e.map(Fe):[Fe(e)],hi=(e,t,n)=>{if(t._n)return t;const s=No((...r)=>Jn(t(...r)),n);return s._c=!1,s},vr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(xr(r))continue;const o=e[r];if(P(o))t[r]=hi(r,o,s);else if(o!=null){const i=Jn(o);t[r]=()=>i}}},Cr=(e,t)=>{const n=Jn(t);e.slots.default=()=>n},pi=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=B(t),Ut(t,"_",n)):vr(t,e.slots={})}else e.slots={},t&&Cr(e,t);Ut(e.slots,tn,1)},gi=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=W;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(r,t),!n&&l===1&&delete r._):(o=!t.$stable,vr(t,r)),i=t}else t&&(Cr(e,t),i={default:1});if(o)for(const l in r)!xr(l)&&!(l in i)&&delete r[l]};function wr(){return{app:null,config:{isNativeTag:Hr,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 _i=0;function mi(e,t){return function(s,r=null){P(s)||(s=Object.assign({},s)),r!=null&&!z(r)&&(r=null);const o=wr(),i=new Set;let l=!1;const f=o.app={_uid:_i++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:Ui,get config(){return o.config},set config(a){},use(a,...g){return i.has(a)||(a&&P(a.install)?(i.add(a),a.install(f,...g)):P(a)&&(i.add(a),a(f,...g))),f},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),f},component(a,g){return g?(o.components[a]=g,f):o.components[a]},directive(a,g){return g?(o.directives[a]=g,f):o.directives[a]},mount(a,g,x){if(!l){const C=Q(s,r);return C.appContext=o,g&&t?t(C,a):e(C,a,x),l=!0,f._container=a,a.__vue_app__=f,nn(C.component)||C.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,g){return o.provides[a]=g,f}};return f}}function Fn(e,t,n,s,r=!1){if(F(e)){e.forEach((C,A)=>Fn(C,t&&(F(t)?t[A]:t),n,s,r));return}if(Bt(s)&&!r)return;const o=s.shapeFlag&4?nn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:f}=e,a=t&&t.r,g=l.refs===W?l.refs={}:l.refs,x=l.setupState;if(a!=null&&a!==f&&(G(a)?(g[a]=null,N(x,a)&&(x[a]=null)):fe(a)&&(a.value=null)),P(f))De(f,l,12,[i,g]);else{const C=G(f),A=fe(f);if(C||A){const H=()=>{if(e.f){const O=C?N(x,f)?x[f]:g[f]:f.value;r?F(O)&&Rn(O,o):F(O)?O.includes(o)||O.push(o):C?(g[f]=[o],N(x,f)&&(x[f]=g[f])):(f.value=[o],e.k&&(g[e.k]=f.value))}else C?(g[f]=i,N(x,f)&&(x[f]=i)):A&&(f.value=i,e.k&&(g[e.k]=i))};i?(H.id=-1,ue(H,n)):H()}}}const ue=Do;function bi(e){return yi(e)}function yi(e,t){const n=Wr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:f,setText:a,setElementText:g,parentNode:x,nextSibling:C,setScopeId:A=we,insertStaticContent:H}=e,O=(c,u,d,p=null,h=null,b=null,v=!1,m=null,y=!!u.dynamicChildren)=>{if(c===u)return;c&&!Xe(c,u)&&(p=It(c),Oe(c,h,b,!0),c=null),u.patchFlag===-2&&(y=!1,u.dynamicChildren=null);const{type:_,ref:E,shapeFlag:w}=u;switch(_){case en:X(c,u,d,p);break;case Ee:U(c,u,d,p);break;case dn:c==null&&ge(u,d,p,v);break;case re:Te(c,u,d,p,h,b,v,m,y);break;default:w&1?te(c,u,d,p,h,b,v,m,y):w&6?Me(c,u,d,p,h,b,v,m,y):(w&64||w&128)&&_.process(c,u,d,p,h,b,v,m,y,st)}E!=null&&h&&Fn(E,c&&c.ref,b,u||c,!u)},X=(c,u,d,p)=>{if(c==null)s(u.el=l(u.children),d,p);else{const h=u.el=c.el;u.children!==c.children&&a(h,u.children)}},U=(c,u,d,p)=>{c==null?s(u.el=f(u.children||""),d,p):u.el=c.el},ge=(c,u,d,p)=>{[c.el,c.anchor]=H(c.children,u,d,p,c.el,c.anchor)},k=({el:c,anchor:u},d,p)=>{let h;for(;c&&c!==u;)h=C(c),s(c,d,p),c=h;s(u,d,p)},V=({el:c,anchor:u})=>{let d;for(;c&&c!==u;)d=C(c),r(c),c=d;r(u)},te=(c,u,d,p,h,b,v,m,y)=>{v=v||u.type==="svg",c==null?nt(u,d,p,h,b,v,m,y):ee(c,u,h,b,v,m,y)},nt=(c,u,d,p,h,b,v,m)=>{let y,_;const{type:E,props:w,shapeFlag:T,transition:I,dirs:R}=c;if(y=c.el=i(c.type,b,w&&w.is,w),T&8?g(y,c.children):T&16&&L(c.children,y,null,p,h,b&&E!=="foreignObject",v,m),R&&Ve(c,null,p,"created"),Be(y,c,c.scopeId,v,p),w){for(const j in w)j!=="value"&&!Rt(j)&&o(y,j,null,w[j],b,c.children,p,h,Le);"value"in w&&o(y,"value",null,w.value),(_=w.onVnodeBeforeMount)&&Ae(_,p,c)}R&&Ve(c,null,p,"beforeMount");const K=(!h||h&&!h.pendingBranch)&&I&&!I.persisted;K&&I.beforeEnter(y),s(y,u,d),((_=w&&w.onVnodeMounted)||K||R)&&ue(()=>{_&&Ae(_,p,c),K&&I.enter(y),R&&Ve(c,null,p,"mounted")},h)},Be=(c,u,d,p,h)=>{if(d&&A(c,d),p)for(let b=0;b<p.length;b++)A(c,p[b]);if(h){let b=h.subTree;if(u===b){const v=h.vnode;Be(c,v,v.scopeId,v.slotScopeIds,h.parent)}}},L=(c,u,d,p,h,b,v,m,y=0)=>{for(let _=y;_<c.length;_++){const E=c[_]=m?je(c[_]):Fe(c[_]);O(null,E,u,d,p,h,b,v,m)}},ee=(c,u,d,p,h,b,v)=>{const m=u.el=c.el;let{patchFlag:y,dynamicChildren:_,dirs:E}=u;y|=c.patchFlag&16;const w=c.props||W,T=u.props||W;let I;d&&qe(d,!1),(I=T.onVnodeBeforeUpdate)&&Ae(I,d,u,c),E&&Ve(u,c,d,"beforeUpdate"),d&&qe(d,!0);const R=h&&u.type!=="foreignObject";if(_?q(c.dynamicChildren,_,m,d,p,R,b):v||D(c,u,m,null,d,p,R,b,!1),y>0){if(y&16)de(m,u,w,T,d,p,h);else if(y&2&&w.class!==T.class&&o(m,"class",null,T.class,h),y&4&&o(m,"style",w.style,T.style,h),y&8){const K=u.dynamicProps;for(let j=0;j<K.length;j++){const Z=K[j],ye=w[Z],rt=T[Z];(rt!==ye||Z==="value")&&o(m,Z,ye,rt,h,c.children,d,p,Le)}}y&1&&c.children!==u.children&&g(m,u.children)}else!v&&_==null&&de(m,u,w,T,d,p,h);((I=T.onVnodeUpdated)||E)&&ue(()=>{I&&Ae(I,d,u,c),E&&Ve(u,c,d,"updated")},p)},q=(c,u,d,p,h,b,v)=>{for(let m=0;m<u.length;m++){const y=c[m],_=u[m],E=y.el&&(y.type===re||!Xe(y,_)||y.shapeFlag&70)?x(y.el):d;O(y,_,E,null,p,h,b,v,!0)}},de=(c,u,d,p,h,b,v)=>{if(d!==p){if(d!==W)for(const m in d)!Rt(m)&&!(m in p)&&o(c,m,d[m],null,v,u.children,h,b,Le);for(const m in p){if(Rt(m))continue;const y=p[m],_=d[m];y!==_&&m!=="value"&&o(c,m,_,y,v,u.children,h,b,Le)}"value"in p&&o(c,"value",d.value,p.value)}},Te=(c,u,d,p,h,b,v,m,y)=>{const _=u.el=c?c.el:l(""),E=u.anchor=c?c.anchor:l("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:I}=u;I&&(m=m?m.concat(I):I),c==null?(s(_,d,p),s(E,d,p),L(u.children,d,E,h,b,v,m,y)):w>0&&w&64&&T&&c.dynamicChildren?(q(c.dynamicChildren,T,d,h,b,v,m),(u.key!=null||h&&u===h.subTree)&&Er(c,u,!0)):D(c,u,d,E,h,b,v,m,y)},Me=(c,u,d,p,h,b,v,m,y)=>{u.slotScopeIds=m,c==null?u.shapeFlag&512?h.ctx.activate(u,d,p,v,y):pt(u,d,p,h,b,v,y):Xn(c,u,y)},pt=(c,u,d,p,h,b,v)=>{const m=c.component=Fi(c,p,h);if(Qt(c)&&(m.ctx.renderer=st),ki(m),m.asyncDep){if(h&&h.registerDep(m,le),!c.el){const y=m.subTree=Q(Ee);U(null,y,u,d)}return}le(m,c,u,d,h,b,v)},Xn=(c,u,d)=>{const p=u.component=c.component;if(Ho(c,u,d))if(p.asyncDep&&!p.asyncResolved){J(p,u,d);return}else p.next=u,ko(p.update),p.update();else u.el=c.el,p.vnode=u},le=(c,u,d,p,h,b,v)=>{const m=()=>{if(c.isMounted){let{next:E,bu:w,u:T,parent:I,vnode:R}=c,K=E,j;qe(c,!1),E?(E.el=R.el,J(c,E,v)):E=R,w&&Nt(w),(j=E.props&&E.props.onVnodeBeforeUpdate)&&Ae(j,I,E,R),qe(c,!0);const Z=cn(c),ye=c.subTree;c.subTree=Z,O(ye,Z,x(ye.el),It(ye),c,h,b),E.el=Z.el,K===null&&jo(c,Z.el),T&&ue(T,h),(j=E.props&&E.props.onVnodeUpdated)&&ue(()=>Ae(j,I,E,R),h)}else{let E;const{el:w,props:T}=u,{bm:I,m:R,parent:K}=c,j=Bt(u);if(qe(c,!1),I&&Nt(I),!j&&(E=T&&T.onVnodeBeforeMount)&&Ae(E,K,u),qe(c,!0),w&&on){const Z=()=>{c.subTree=cn(c),on(w,c.subTree,c,h,null)};j?u.type.__asyncLoader().then(()=>!c.isUnmounted&&Z()):Z()}else{const Z=c.subTree=cn(c);O(null,Z,d,p,c,h,b),u.el=Z.el}if(R&&ue(R,h),!j&&(E=T&&T.onVnodeMounted)){const Z=u;ue(()=>Ae(E,K,Z),h)}(u.shapeFlag&256||K&&Bt(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&ue(c.a,h),c.isMounted=!0,u=d=p=null}},y=c.effect=new Hn(m,()=>Vn(_),c.scope),_=c.update=()=>y.run();_.id=c.uid,qe(c,!0),_()},J=(c,u,d)=>{u.component=c;const p=c.vnode.props;c.vnode=u,c.next=null,di(c,u.props,p,d),gi(c,u.children,d),dt(),us(),ht()},D=(c,u,d,p,h,b,v,m,y=!1)=>{const _=c&&c.children,E=c?c.shapeFlag:0,w=u.children,{patchFlag:T,shapeFlag:I}=u;if(T>0){if(T&128){Ot(_,w,d,p,h,b,v,m,y);return}else if(T&256){We(_,w,d,p,h,b,v,m,y);return}}I&8?(E&16&&Le(_,h,b),w!==_&&g(d,w)):E&16?I&16?Ot(_,w,d,p,h,b,v,m,y):Le(_,h,b,!0):(E&8&&g(d,""),I&16&&L(w,d,p,h,b,v,m,y))},We=(c,u,d,p,h,b,v,m,y)=>{c=c||it,u=u||it;const _=c.length,E=u.length,w=Math.min(_,E);let T;for(T=0;T<w;T++){const I=u[T]=y?je(u[T]):Fe(u[T]);O(c[T],I,d,null,h,b,v,m,y)}_>E?Le(c,h,b,!0,!1,w):L(u,d,p,h,b,v,m,y,w)},Ot=(c,u,d,p,h,b,v,m,y)=>{let _=0;const E=u.length;let w=c.length-1,T=E-1;for(;_<=w&&_<=T;){const I=c[_],R=u[_]=y?je(u[_]):Fe(u[_]);if(Xe(I,R))O(I,R,d,null,h,b,v,m,y);else break;_++}for(;_<=w&&_<=T;){const I=c[w],R=u[T]=y?je(u[T]):Fe(u[T]);if(Xe(I,R))O(I,R,d,null,h,b,v,m,y);else break;w--,T--}if(_>w){if(_<=T){const I=T+1,R=I<E?u[I].el:p;for(;_<=T;)O(null,u[_]=y?je(u[_]):Fe(u[_]),d,R,h,b,v,m,y),_++}}else if(_>T)for(;_<=w;)Oe(c[_],h,b,!0),_++;else{const I=_,R=_,K=new Map;for(_=R;_<=T;_++){const he=u[_]=y?je(u[_]):Fe(u[_]);he.key!=null&&K.set(he.key,_)}let j,Z=0;const ye=T-R+1;let rt=!1,Gn=0;const gt=new Array(ye);for(_=0;_<ye;_++)gt[_]=0;for(_=I;_<=w;_++){const he=c[_];if(Z>=ye){Oe(he,h,b,!0);continue}let Ie;if(he.key!=null)Ie=K.get(he.key);else for(j=R;j<=T;j++)if(gt[j-R]===0&&Xe(he,u[j])){Ie=j;break}Ie===void 0?Oe(he,h,b,!0):(gt[Ie-R]=_+1,Ie>=Gn?Gn=Ie:rt=!0,O(he,u[Ie],d,null,h,b,v,m,y),Z++)}const es=rt?xi(gt):it;for(j=es.length-1,_=ye-1;_>=0;_--){const he=R+_,Ie=u[he],ts=he+1<E?u[he+1].el:p;gt[_]===0?O(null,Ie,d,ts,h,b,v,m,y):rt&&(j<0||_!==es[j]?ze(Ie,d,ts,2):j--)}}},ze=(c,u,d,p,h=null)=>{const{el:b,type:v,transition:m,children:y,shapeFlag:_}=c;if(_&6){ze(c.component.subTree,u,d,p);return}if(_&128){c.suspense.move(u,d,p);return}if(_&64){v.move(c,u,d,st);return}if(v===re){s(b,u,d);for(let w=0;w<y.length;w++)ze(y[w],u,d,p);s(c.anchor,u,d);return}if(v===dn){k(c,u,d);return}if(p!==2&&_&1&&m)if(p===0)m.beforeEnter(b),s(b,u,d),ue(()=>m.enter(b),h);else{const{leave:w,delayLeave:T,afterLeave:I}=m,R=()=>s(b,u,d),K=()=>{w(b,()=>{R(),I&&I()})};T?T(b,R,K):K()}else s(b,u,d)},Oe=(c,u,d,p=!1,h=!1)=>{const{type:b,props:v,ref:m,children:y,dynamicChildren:_,shapeFlag:E,patchFlag:w,dirs:T}=c;if(m!=null&&Fn(m,null,d,c,!0),E&256){u.ctx.deactivate(c);return}const I=E&1&&T,R=!Bt(c);let K;if(R&&(K=v&&v.onVnodeBeforeUnmount)&&Ae(K,u,c),E&6)kr(c.component,d,p);else{if(E&128){c.suspense.unmount(d,p);return}I&&Ve(c,null,u,"beforeUnmount"),E&64?c.type.remove(c,u,d,h,st,p):_&&(b!==re||w>0&&w&64)?Le(_,u,d,!1,!0):(b===re&&w&384||!h&&E&16)&&Le(y,u,d),p&&Zn(c)}(R&&(K=v&&v.onVnodeUnmounted)||I)&&ue(()=>{K&&Ae(K,u,c),I&&Ve(c,null,u,"unmounted")},d)},Zn=c=>{const{type:u,el:d,anchor:p,transition:h}=c;if(u===re){Pr(d,p);return}if(u===dn){V(c);return}const b=()=>{r(d),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(c.shapeFlag&1&&h&&!h.persisted){const{leave:v,delayLeave:m}=h,y=()=>v(d,b);m?m(c.el,b,y):y()}else b()},Pr=(c,u)=>{let d;for(;c!==u;)d=C(c),r(c),c=d;r(u)},kr=(c,u,d)=>{const{bum:p,scope:h,update:b,subTree:v,um:m}=c;p&&Nt(p),h.stop(),b&&(b.active=!1,Oe(v,c,u,d)),m&&ue(m,u),ue(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(c,u,d,p=!1,h=!1,b=0)=>{for(let v=b;v<c.length;v++)Oe(c[v],u,d,p,h)},It=c=>c.shapeFlag&6?It(c.component.subTree):c.shapeFlag&128?c.suspense.next():C(c.anchor||c.el),Qn=(c,u,d)=>{c==null?u._vnode&&Oe(u._vnode,null,null,!0):O(u._vnode||null,c,u,null,null,null,d),us(),rr(),u._vnode=c},st={p:O,um:Oe,m:ze,r:Zn,mt:pt,mc:L,pc:D,pbc:q,n:It,o:e};let rn,on;return t&&([rn,on]=t(st)),{render:Qn,hydrate:rn,createApp:mi(Qn,rn)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Er(e,t,n=!1){const s=e.children,r=t.children;if(F(s)&&F(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=je(r[o]),l.el=i.el),n||Er(i,l)),l.type===en&&(l.el=i.el)}}function xi(e){const t=e.slice(),n=[0];let s,r,o,i,l;const f=e.length;for(s=0;s<f;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<a?o=l+1:i=l;a<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const vi=e=>e.__isTeleport,re=Symbol(void 0),en=Symbol(void 0),Ee=Symbol(void 0),dn=Symbol(void 0),yt=[];let Ce=null;function S(e=!1){yt.push(Ce=e?null:[])}function Ci(){yt.pop(),Ce=yt[yt.length-1]||null}let wt=1;function vs(e){wt+=e}function Tr(e){return e.dynamicChildren=wt>0?Ce||it:null,Ci(),wt>0&&Ce&&Ce.push(e),e}function $(e,t,n,s,r,o){return Tr(M(e,t,n,s,r,o,!0))}function mt(e,t,n,s,r){return Tr(Q(e,t,n,s,r,!0))}function wi(e){return e?e.__v_isVNode===!0:!1}function Xe(e,t){return e.type===t.type&&e.key===t.key}const tn="__vInternal",Or=({key:e})=>e??null,Ht=({ref:e,ref_key:t,ref_for:n})=>e!=null?G(e)||fe(e)||P(e)?{i:pe,r:e,k:t,f:!!n}:e:null;function M(e,t=null,n=null,s=0,r=null,o=e===re?0:1,i=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Or(t),ref:t&&Ht(t),scopeId:lr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pe};return l?(Yn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=G(n)?8:16),wt>0&&!i&&Ce&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Ce.push(f),f}const Q=Ei;function Ei(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===si)&&(e=Ee),wi(e)){const l=$e(e,t,!0);return n&&Yn(l,n),wt>0&&!o&&Ce&&(l.shapeFlag&6?Ce[Ce.indexOf(e)]=l:Ce.push(l)),l.patchFlag|=-2,l}if(Si(e)&&(e=e.__vccOpts),t){t=Ti(t);let{class:l,style:f}=t;l&&!G(l)&&(t.class=me(l)),z(f)&&(Qs(f)&&!F(f)&&(f=ie({},f)),t.style=Mn(f))}const i=G(e)?1:Uo(e)?128:vi(e)?64:z(e)?4:P(e)?2:0;return M(e,t,n,s,r,i,o,!0)}function Ti(e){return e?Qs(e)||tn in e?ie({},e):e:null}function $e(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Oi(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Or(l),ref:t&&t.ref?n&&r?F(r)?r.concat(Ht(t)):[r,Ht(t)]:Ht(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==re?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&$e(e.ssContent),ssFallback:e.ssFallback&&$e(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function $t(e=" ",t=0){return Q(en,null,e,t)}function ne(e="",t=!1){return t?(S(),mt(Ee,null,e)):Q(Ee,null,e)}function Fe(e){return e==null||typeof e=="boolean"?Q(Ee):F(e)?Q(re,null,e.slice()):typeof e=="object"?je(e):Q(en,null,String(e))}function je(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$e(e)}function Yn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(F(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Yn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(tn in t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else P(t)?(t={default:t,_ctx:pe},n=32):(t=String(t),s&64?(n=16,t=[$t(t)]):n=8);e.children=t,e.shapeFlag|=n}function Oi(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=me([t.class,s.class]));else if(r==="style")t.style=Mn([t.style,s.style]);else if(Wt(r)){const o=t[r],i=s[r];i&&o!==i&&!(F(o)&&o.includes(i))&&(t[r]=o?[].concat(o,i):i)}else r!==""&&(t[r]=s[r])}return t}function Ae(e,t,n,s=null){be(e,t,7,[n,s])}const Ii=wr();let Ai=0;function Fi(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Ii,o={uid:Ai++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new zr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yr(s,r),emitsOptions:ir(s,r),emit:null,emitted:null,propsDefaults:W,inheritAttrs:s.inheritAttrs,ctx:W,data:W,props:W,attrs:W,slots:W,refs:W,setupState:W,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 o.ctx={_:o},o.root=t?t.root:o,o.emit=Ro.bind(null,o),e.ce&&e.ce(o),o}let Y=null;const Pi=()=>Y||pe,ut=e=>{Y=e,e.scope.on()},tt=()=>{Y&&Y.scope.off(),Y=null};function Ir(e){return e.vnode.shapeFlag&4}let Et=!1;function ki(e,t=!1){Et=t;const{props:n,children:s}=e.vnode,r=Ir(e);ai(e,n,r,t),pi(e,s);const o=r?Mi(e,t):void 0;return Et=!1,o}function Mi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Gs(new Proxy(e.ctx,oi));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ri(e):null;ut(e),dt();const o=De(s,e,0,[e.props,r]);if(ht(),tt(),Hs(o)){if(o.then(tt,tt),t)return o.then(i=>{Cs(e,i,t)}).catch(i=>{Xt(i,e,0)});e.asyncDep=o}else Cs(e,o,t)}else Ar(e,t)}function Cs(e,t,n){P(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)&&(e.setupState=er(t)),Ar(e,n)}let ws;function Ar(e,t,n){const s=e.type;if(!e.render){if(!t&&ws&&!s.render){const r=s.template||qn(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ie(ie({isCustomElement:o,delimiters:l},i),f);s.render=ws(r,a)}}e.render=s.render||we}ut(e),dt(),ii(e),ht(),tt()}function Li(e){return new Proxy(e.attrs,{get(t,n){return ae(e,"get","$attrs"),t[n]}})}function Ri(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Li(e))},slots:e.slots,emit:e.emit,expose:t}}function nn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(er(Gs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in bt)return bt[n](e)},has(t,n){return n in t||n in bt}}))}function Ni(e,t=!0){return P(e)?e.displayName||e.name:e.name||t&&e.__name}function Si(e){return P(e)&&"__vccOpts"in e}const Bi=(e,t)=>Io(e,t,Et),Hi=Symbol(""),ji=()=>St(Hi),Ui="3.2.47",Di="http://www.w3.org/2000/svg",Ze=typeof document<"u"?document:null,Es=Ze&&Ze.createElement("template"),Ki={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 r=t?Ze.createElementNS(Di,e):Ze.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ze.createTextNode(e),createComment:e=>Ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Es.innerHTML=s?`<svg>${e}</svg>`:e;const l=Es.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function $i(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Wi(e,t,n){const s=e.style,r=G(n);if(n&&!r){if(t&&!G(t))for(const o in t)n[o]==null&&Pn(s,o,"");for(const o in n)Pn(s,o,n[o])}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const Ts=/\s*!important$/;function Pn(e,t,n){if(F(n))n.forEach(s=>Pn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=zi(e,t);Ts.test(n)?e.setProperty(at(s),n.replace(Ts,""),"important"):e[s]=n}}const Os=["Webkit","Moz","ms"],hn={};function zi(e,t){const n=hn[t];if(n)return n;let s=ke(t);if(s!=="filter"&&s in e)return hn[t]=s;s=qt(s);for(let r=0;r<Os.length;r++){const o=Os[r]+s;if(o in e)return hn[t]=o}return t}const Is="http://www.w3.org/1999/xlink";function Vi(e,t,n,s,r){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Is,t.slice(6,t.length)):e.setAttributeNS(Is,t,n);else{const o=Br(t);n==null||o&&!Ns(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function qi(e,t,n,s,r,o,i){if(t==="innerHTML"||t==="textContent"){s&&i(s,r,o),e[t]=n??"";return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const f=n??"";(e.value!==f||e.tagName==="OPTION")&&(e.value=f),n==null&&e.removeAttribute(t);return}let l=!1;if(n===""||n==null){const f=typeof e[t];f==="boolean"?n=Ns(n):n==null&&f==="string"?(n="",l=!0):f==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(t)}function ot(e,t,n,s){e.addEventListener(t,n,s)}function Ji(e,t,n,s){e.removeEventListener(t,n,s)}function Yi(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,f]=Xi(t);if(s){const a=o[t]=Gi(s,r);ot(e,l,a,f)}else i&&(Ji(e,l,i,f),o[t]=void 0)}}const As=/(?:Once|Passive|Capture)$/;function Xi(e){let t;if(As.test(e)){t={};let s;for(;s=e.match(As);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):at(e.slice(2)),t]}let pn=0;const Zi=Promise.resolve(),Qi=()=>pn||(Zi.then(()=>pn=0),pn=Date.now());function Gi(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(el(s,n.value),t,5,[s])};return n.value=e,n.attached=Qi(),n}function el(e,t){if(F(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Fs=/^on[a-z]/,tl=(e,t,n,s,r=!1,o,i,l,f)=>{t==="class"?$i(e,s,r):t==="style"?Wi(e,n,s):Wt(t)?Ln(t)||Yi(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nl(e,t,s,r))?qi(e,t,s,o,i,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Vi(e,t,s,r))};function nl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Fs.test(t)&&P(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Fs.test(t)&&G(n)?!1:t in e}const sl={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};Vo.props;const Ps=e=>{const t=e.props["onUpdate:modelValue"]||!1;return F(t)?n=>Nt(t,n):t};function rl(e){e.target.composing=!0}function ks(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ms={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Ps(r);const o=s||r.props&&r.props.type==="number";ot(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=gn(l)),e._assign(l)}),n&&ot(e,"change",()=>{e.value=e.value.trim()}),t||(ot(e,"compositionstart",rl),ot(e,"compositionend",ks),ot(e,"change",ks))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e._assign=Ps(o),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&gn(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},ol=ie({patchProp:tl},Ki);let Ls;function il(){return Ls||(Ls=bi(ol))}const ll=(...e)=>{const t=il().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=cl(s);if(!r)return;const o=t._component;!P(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function cl(e){return G(e)?document.querySelector(e):e}const Tt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Rs={},fl=function(e){if(!Rs[e]){Rs[e]=!0;const t=document.getElementsByTagName("head")[0],n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)}},ul={props:["name"],data(){return{l_group:"",l_name:""}},mounted(){this.init()},beforeUpdate(){this.init()},watch:{name(){this.init()}},methods:{init(){if(this.name&&this.name!==""){const e=this.name.split("@");e.length>1&&(this.l_group=e[1],this.l_name=e[0]),this.l_group&&this.loadCss()}},loadCss(){let e=self.iconFont||"https://icon.sumor.com/group";fl(`${e}/${this.l_group}/style.css`)}}};function al(e,t,n,s,r,o){return S(),$("i",{class:me("si-"+r.l_group+"-"+r.l_name)},null,2)}const sn=Tt(ul,[["render",al]]);const dl={components:{Icon:sn},props:["api"],data(){return{called:!1,activeStatus:{},showResponse:{},data:{},response:{},token:{}}},async mounted(){this.init()},watch:{api(){this.init()}},methods:{init(){},open(e){for(let t in this.activeStatus)t!==e&&(this.activeStatus[t]=!1);this.activeStatus[e]=!this.activeStatus[e],this.data={}},async uploadFile(e){const t=await sumor.upload();this.data[e]=t[0]},async submit(e){const t=this.api.filter(s=>s.path===e)[0].parameters;for(let s of t)s.type==="number"&&this.data[s.key]&&(this.data[s.key]=parseFloat(this.data[s.key]),isNaN(this.data[s.key])&&(this.data[s.key]=null));const n=await this.callApi(e,this.data);this.response[e]=n,n.code==="OK"&&(n.message="调用成功"),this.showResponse[e]=!0},async callApi(e,t){const n=await sumor.call(e,t);return e.indexOf("login")>=0&&await sumor.update("token"),n},onTextareaInput(e){e.target.style.height="auto",e.target.style.height=e.target.scrollHeight+"px"}}},hl=["onClick"],pl={class:"left"},gl={class:"path"},_l={class:"name"},ml={class:"collect"},bl={key:0,class:"detail"},yl={class:"item desc"},xl={class:"tabs"},vl=["onClick"],Cl=["onClick"],wl={key:0,class:"tabContent"},El={key:0,class:"item"},Tl={class:"item"},Ol={class:"label"},Il={key:0,class:"required"},Al={key:1,class:"help"},Fl={class:"popup"},Pl={key:0,class:"input"},kl=["onUpdate:modelValue"],Ml=["onUpdate:modelValue"],Ll={key:1,class:"uploaderText"},Rl=["onClick"],Nl={class:"item"},Sl=["onClick"],Bl={key:1,class:"tabContent"},Hl={key:0,class:"item"},jl={class:"item"},Ul={class:"icon"},Dl={class:"text"},Kl={class:"text"},$l={key:0,class:"response"};function Wl(e,t,n,s,r,o){const i=Ge("Icon");return S(!0),$(re,null,En(n.api,l=>(S(),$("div",{class:me(["card",{active:!!r.activeStatus[l.path]}])},[M("div",{class:"title",onClick:f=>o.open(l.path)},[M("div",pl,[M("div",gl,se(l.path),1),M("div",_l,se(l.name),1)]),M("div",ml,[Q(i,{name:"angle-down@themify"})])],8,hl),r.activeStatus[l.path]?(S(),$("div",bl,[M("div",yl,se(l.desc),1),M("div",xl,[M("div",{class:me(["tab",{active:!r.showResponse[l.path]}]),onClick:f=>r.showResponse[l.path]=!1},"调用",10,vl),M("div",{class:me(["tab",{active:!!r.showResponse[l.path]}]),onClick:f=>r.showResponse[l.path]=!0},"结果",10,Cl)]),r.showResponse[l.path]?ne("",!0):(S(),$("div",wl,[r.called?ne("",!0):(S(),$(re,{key:0},[l.parameters.length===0?(S(),$("div",El,"该接口无参数,请直接点击调用")):(S(!0),$(re,{key:1},En(l.parameters,f=>(S(),$("div",Tl,[M("div",Ol,[M("div",null,se(f.key)+" "+se(f.name),1),f.required?(S(),$("div",Il,"*")):ne("",!0),f.desc?(S(),$("div",Al,[Q(i,{name:"question-circle-o@font_awesome"}),M("div",Fl,se(f.desc),1)])):ne("",!0)]),f.type!=="file"?(S(),$("div",Pl,[f.length&&f.length>100?hs((S(),$("textarea",{key:0,"onUpdate:modelValue":a=>r.data[f.key]=a,onInput:t[0]||(t[0]=(...a)=>o.onTextareaInput&&o.onTextareaInput(...a))},null,40,kl)),[[Ms,r.data[f.key]]]):hs((S(),$("input",{key:1,"onUpdate:modelValue":a=>r.data[f.key]=a},null,8,Ml)),[[Ms,r.data[f.key]]])])):ne("",!0),f.type==="file"?(S(),$("div",Ll,[M("div",{onClick:a=>o.uploadFile(f.key)},se(r.data[f.key]?r.data[f.key].name:"点击上传"),9,Rl)])):ne("",!0)]))),256)),M("div",Nl,[M("div",{class:"button",onClick:f=>o.submit(l.path)},"调用接口",8,Sl)])],64))])),r.showResponse[l.path]?(S(),$("div",Bl,[r.response[l.path]?ne("",!0):(S(),$("div",Hl,"暂无结果,请重新尝试调用接口")),r.response[l.path]?(S(),$(re,{key:1},[M("div",jl,[M("div",{class:me(["alert",{error:r.response[l.path].error}])},[M("div",Ul,[Q(i,{name:r.response[l.path].error?"close-outline@zondicons":"checkmark-outline@zondicons"},null,8,["name"])]),M("div",Dl,se(r.response[l.path].code),1),M("div",Kl,se(r.response[l.path].message),1)],2)]),r.response[l.path].data?(S(),$("pre",$l,se(r.response[l.path].data),1)):ne("",!0)],64)):ne("",!0)])):ne("",!0)])):ne("",!0)],2))),256)}const zl=Tt(dl,[["render",Wl],["__scopeId","data-v-2dc841e6"]]);const Vl={components:{Icon:sn},data(){return{visible:!1,list:[]}},async mounted(){this.list=await sumor.range("sumor.language")},computed:{language(){return sumor.store.sumor.language},languageText(){const e=sumor.store.sumor.language,t=this.list.filter(n=>n.key===e)[0];return t?t.text1||t.text:e}},methods:{select(e){this.visible=!1,sumor.set("sumor.language",e)}}},ql={class:"icon"},Jl={class:"text"},Yl={class:"title"},Xl={class:"popupContent"},Zl=["onClick"];function Ql(e,t,n,s,r,o){const i=Ge("Icon");return S(),$(re,null,[M("div",{class:me(["selector",{active:r.visible===!0}]),onClick:t[0]||(t[0]=l=>r.visible=!0)},[M("div",ql,[Q(i,{name:"globe@zondicons"})]),M("div",Jl,se(o.languageText),1)],2),r.visible?(S(),$("div",{key:0,class:"popup",onClick:t[3]||(t[3]=l=>r.visible=!1)},[M("div",{class:"inner",onClick:t[2]||(t[2]=l=>l.stopPropagation())},[M("div",Yl,[$t("选择语言地区"),M("span",{onClick:t[1]||(t[1]=l=>r.visible=!1)},[Q(i,{name:"close@themify"})])]),M("div",Xl,[(S(!0),$(re,null,En(r.list,l=>(S(),$("div",{class:"item",onClick:f=>o.select(l.key)},[$t(se(l.key)+" "+se(l.text)+" "+se(l.text1),1),Q(i,{name:"angle-right@themify"})],8,Zl))),256))])])])):ne("",!0)],64)}const Gl=Tt(Vl,[["render",Ql],["__scopeId","data-v-78b95bd1"]]);const ec={components:{Icon:sn},props:[],data(){return{dark:!1}},mounted(){setInterval(()=>{this.dark=sumor.store.sumor.dark},100)},methods:{change(){sumor.set("sumor.dark",!sumor.store.sumor.dark)}}},tc={class:"SumorDarkButton"};function nc(e,t,n,s,r,o){const i=Ge("Icon");return S(),$("div",tc,[M("div",{class:"inner",onClick:t[0]||(t[0]=(...l)=>o.change&&o.change(...l))},[M("div",{class:me(["box",{active:!r.dark}])},[r.dark?(S(),mt(i,{key:0,name:"sun@meteocons"})):ne("",!0),r.dark?ne("",!0):(S(),mt(i,{key:1,name:"sun2@meteocons"}))],2),M("div",{class:me(["box",{active:r.dark}])},[r.dark?ne("",!0):(S(),mt(i,{key:0,name:"moon@meteocons"})),r.dark?(S(),mt(i,{key:1,name:"moon1@meteocons"})):ne("",!0)],2)])])}const sc=Tt(ec,[["render",nc],["__scopeId","data-v-f259a7a2"]]);const rc={components:{DarkButton:sc,Icon:sn,LanguageSelector:Gl,List:zl},data(){return{title:"",api:[]}},async mounted(){this.init(),await sumor.update("meta"),this.init(),await sumor.update("token")},computed:{user(){return sumor.store.sumor.token.nickname||sumor.store.sumor.token.user}},methods:{init(){const e=sumor.store.sumor.meta,t=e.api||{},n=[];for(let s in t){const r=t[s],o=[];if(r.parameters)for(let i in r.parameters)o.push({key:i,...r.parameters[i]});n.push({path:s,name:r.name,desc:r.desc,parameters:o})}this.api=n,this.title=`${e.name||"轻呈云应用"}接口 (${this.api.length})`,document.title=this.title},async clickLoginButton(){this.user&&await sumor.logout()}}},oc={class:"frame"},ic={class:"bar"},lc={class:"title"},cc={class:"more"},fc={class:"icon"},uc={class:"content"};function ac(e,t,n,s,r,o){const i=Ge("DarkButton"),l=Ge("LanguageSelector"),f=Ge("Icon"),a=Ge("List");return S(),$("div",oc,[M("div",ic,[M("div",lc,se(r.title),1),M("div",cc,[Q(i),Q(l),M("div",{class:me(["button",{success:o.user}]),onClick:t[0]||(t[0]=(...g)=>o.clickLoginButton&&o.clickLoginButton(...g))},[M("span",fc,[Q(f,{name:o.user?"unlocked@icomoon":"lock@icomoon"},null,8,["name"])]),$t(se(o.user?o.user+" 已登录":"未登录"),1)],2)])]),M("div",uc,[Q(a,{api:r.api},null,8,["api"])])])}const dc=Tt(rc,[["render",ac],["__scopeId","data-v-7d2f5257"]]);sumor.init({reactive:Yt});const Fr=ll(dc);Fr.config.globalProperties.sumor=sumor;Fr.mount("#app");
@@ -1,21 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title></title>
7
-
8
- <!--轻呈云图标-->
9
- <link rel="shortcut icon" href="https://s.sumor.com/icons/favicon.ico">
10
- <link rel="icon" type="image/png" sizes="16x16" href="https://s.sumor.com/icons/favicon-16x16.png">
11
- <link rel="icon" type="image/png" sizes="32x32" href="https://s.sumor.com/icons/favicon-32x32.png">
12
- <link rel="icon" type="image/png" sizes="48x48" href="https://s.sumor.com/icons/favicon-48x48.png">
13
- <script type="module" crossorigin src="./assets/index-e3932acc.js"></script>
14
- <link rel="stylesheet" href="./assets/index-72ae93fe.css">
15
- </head>
16
- <body>
17
- <div id="app"></div>
18
- <script src="/sumor/lib.min.js"></script>
19
-
20
- </body>
21
- </html>
@@ -1 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.sumor=e():t.sumor=e()}("undefined"!=typeof self?self:this,(()=>(()=>{var t={693:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,n="millisecond",r="second",o="minute",i="hour",s="day",a="week",u="month",c="quarter",l="year",f="date",d="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},y=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:y,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),o=n%60;return(e<=0?"+":"-")+y(r,2,"0")+":"+y(o,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),o=e.clone().add(r,u),i=n-o<0,s=e.clone().add(r+(i?-1:1),u);return+(-(r+(n-o)/(i?o-s:s-o))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:u,y:l,w:a,d:s,D:f,h:i,m:o,s:r,ms:n,Q:c}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},w="en",b={};b[w]=p;var v=function(t){return t instanceof $},O=function t(e,n,r){var o;if(!e)return w;if("string"==typeof e){var i=e.toLowerCase();b[i]&&(o=i),n&&(b[i]=n,o=i);var s=e.split("-");if(!o&&s.length>1)return t(s[0])}else{var a=e.name;b[a]=e,o=a}return!r&&o&&(w=o),o||!r&&w},S=function(t,e){if(v(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new $(n)},E=g;E.l=O,E.i=v,E.w=function(t,e){return S(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var $=function(){function p(t){this.$L=O(t.locale,null,!0),this.parse(t)}var y=p.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(E.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(h);if(r){var o=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return E},y.isValid=function(){return!(this.$d.toString()===d)},y.isSame=function(t,e){var n=S(t);return this.startOf(e)<=n&&n<=this.endOf(e)},y.isAfter=function(t,e){return S(t)<this.startOf(e)},y.isBefore=function(t,e){return this.endOf(e)<S(t)},y.$g=function(t,e,n){return E.u(t)?this[e]:this.set(n,t)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(t,e){var n=this,c=!!E.u(e)||e,d=E.p(t),h=function(t,e){var r=E.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return c?r:r.endOf(s)},m=function(t,e){return E.w(n.toDate()[t].apply(n.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},p=this.$W,y=this.$M,g=this.$D,w="set"+(this.$u?"UTC":"");switch(d){case l:return c?h(1,0):h(31,11);case u:return c?h(1,y):h(0,y+1);case a:var b=this.$locale().weekStart||0,v=(p<b?p+7:p)-b;return h(c?g-v:g+(6-v),y);case s:case f:return m(w+"Hours",0);case i:return m(w+"Minutes",1);case o:return m(w+"Seconds",2);case r:return m(w+"Milliseconds",3);default:return this.clone()}},y.endOf=function(t){return this.startOf(t,!1)},y.$set=function(t,e){var a,c=E.p(t),d="set"+(this.$u?"UTC":""),h=(a={},a[s]=d+"Date",a[f]=d+"Date",a[u]=d+"Month",a[l]=d+"FullYear",a[i]=d+"Hours",a[o]=d+"Minutes",a[r]=d+"Seconds",a[n]=d+"Milliseconds",a)[c],m=c===s?this.$D+(e-this.$W):e;if(c===u||c===l){var p=this.clone().set(f,1);p.$d[h](m),p.init(),this.$d=p.set(f,Math.min(this.$D,p.daysInMonth())).$d}else h&&this.$d[h](m);return this.init(),this},y.set=function(t,e){return this.clone().$set(t,e)},y.get=function(t){return this[E.p(t)]()},y.add=function(n,c){var f,d=this;n=Number(n);var h=E.p(c),m=function(t){var e=S(d);return E.w(e.date(e.date()+Math.round(t*n)),d)};if(h===u)return this.set(u,this.$M+n);if(h===l)return this.set(l,this.$y+n);if(h===s)return m(1);if(h===a)return m(7);var p=(f={},f[o]=t,f[i]=e,f[r]=1e3,f)[h]||1,y=this.$d.getTime()+n*p;return E.w(y,this)},y.subtract=function(t,e){return this.add(-1*t,e)},y.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||d;var r=t||"YYYY-MM-DDTHH:mm:ssZ",o=E.z(this),i=this.$H,s=this.$m,a=this.$M,u=n.weekdays,c=n.months,l=function(t,n,o,i){return t&&(t[n]||t(e,r))||o[n].slice(0,i)},f=function(t){return E.s(i%12||12,t,"0")},h=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},p={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:E.s(a+1,2,"0"),MMM:l(n.monthsShort,a,c,3),MMMM:l(c,a),D:this.$D,DD:E.s(this.$D,2,"0"),d:String(this.$W),dd:l(n.weekdaysMin,this.$W,u,2),ddd:l(n.weekdaysShort,this.$W,u,3),dddd:u[this.$W],H:String(i),HH:E.s(i,2,"0"),h:f(1),hh:f(2),a:h(i,s,!0),A:h(i,s,!1),m:String(s),mm:E.s(s,2,"0"),s:String(this.$s),ss:E.s(this.$s,2,"0"),SSS:E.s(this.$ms,3,"0"),Z:o};return r.replace(m,(function(t,e){return e||p[t]||o.replace(":","")}))},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(n,f,d){var h,m=E.p(f),p=S(n),y=(p.utcOffset()-this.utcOffset())*t,g=this-p,w=E.m(this,p);return w=(h={},h[l]=w/12,h[u]=w,h[c]=w/3,h[a]=(g-y)/6048e5,h[s]=(g-y)/864e5,h[i]=g/e,h[o]=g/t,h[r]=g/1e3,h)[m]||g,d?w:E.a(w)},y.daysInMonth=function(){return this.endOf(u).$D},y.$locale=function(){return b[this.$L]},y.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=O(t,e,!0);return r&&(n.$L=r),n},y.clone=function(){return E.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},p}(),T=$.prototype;return S.prototype=T,[["$ms",n],["$s",r],["$m",o],["$H",i],["$W",s],["$M",u],["$y",l],["$D",f]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),S.extend=function(t,e){return t.$i||(t(e,$,S),t.$i=!0),S},S.locale=O,S.isDayjs=v,S.unix=function(t){return S(1e3*t)},S.en=b[w],S.Ls=b,S.p={},S}()},866:function(t,e,n){t.exports=function(t){"use strict";var e=function(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}(t),n={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(t,e){return"W"===e?t+"周":t+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(t,e){var n=100*t+e;return n<600?"凌晨":n<900?"早上":n<1100?"上午":n<1300?"中午":n<1800?"下午":"晚上"}};return e.default.locale(n,null,!0),n}(n(693))},634:function(t){t.exports=function(){"use strict";return function(t,e,n){e.prototype.dayOfYear=function(t){var e=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"day")}}}()},311:function(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(e,n,r){var o=n.prototype,i=o.format;r.en.formats=t,o.format=function(e){void 0===e&&(e="YYYY-MM-DDTHH:mm:ssZ");var n=this.$locale().formats,r=function(e,n){return e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,r,o){var i=o&&o.toUpperCase();return r||n[o]||t[o]||n[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))}(e,void 0===n?{}:n);return i.call(this,r)}}}()},266:function(t){t.exports=function(){"use strict";var t="month",e="quarter";return function(n,r){var o=r.prototype;o.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var i=o.add;o.add=function(n,r){return n=Number(n),this.$utils().p(r)===e?this.add(3*n,t):i.bind(this)(n,r)};var s=o.startOf;o.startOf=function(n,r){var o=this.$utils(),i=!!o.u(r)||r;if(o.p(n)===e){var a=this.quarter()-1;return i?this.month(3*a).startOf(t).startOf("day"):this.month(3*a+2).endOf(t).endOf("day")}return s.bind(this)(n,r)}}}()},815:function(t){t.exports=function(){"use strict";return function(t,e,n){t=t||{};var r=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(t,e,n,o){return r.fromToBase(t,e,n,o)}n.en.relativeTime=o,r.fromToBase=function(e,r,i,s,a){for(var u,c,l,f=i.$locale().relativeTime||o,d=t.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],h=d.length,m=0;m<h;m+=1){var p=d[m];p.d&&(u=s?n(e).diff(i,p.d,!0):i.diff(e,p.d,!0));var y=(t.rounding||Math.round)(Math.abs(u));if(l=u>0,y<=p.r||!p.r){y<=1&&m>0&&(p=d[m-1]);var g=f[p.l];a&&(y=a(""+y)),c="string"==typeof g?g.replace("%d",y):g(y,r,p.l,l);break}}if(r)return c;var w=l?f.future:f.past;return"function"==typeof w?w(c):w.replace("%s",c)},r.to=function(t,e){return i(t,e,this,!0)},r.from=function(t,e){return i(t,e,this)};var s=function(t){return t.$u?n.utc():n()};r.toNow=function(t){return this.to(s(this),t)},r.fromNow=function(t){return this.from(s(this),t)}}}()},197:function(t){t.exports=function(){"use strict";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,r,o){var i,s=function(t,n,r){void 0===r&&(r={});var o=new Date(t),i=function(t,n){void 0===n&&(n={});var r=n.timeZoneName||"short",o=t+"|"+r,i=e[o];return i||(i=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:r}),e[o]=i),i}(n,r);return i.formatToParts(o)},a=function(e,n){for(var r=s(e,n),i=[],a=0;a<r.length;a+=1){var u=r[a],c=u.type,l=u.value,f=t[c];f>=0&&(i[f]=parseInt(l,10))}var d=i[3],h=24===d?0:d,m=i[0]+"-"+i[1]+"-"+i[2]+" "+h+":"+i[4]+":"+i[5]+":000",p=+e;return(o.utc(m).valueOf()-(p-=p%1e3))/6e4},u=r.prototype;u.tz=function(t,e){void 0===t&&(t=i);var n=this.utcOffset(),r=this.toDate(),s=r.toLocaleString("en-US",{timeZone:t}),a=Math.round((r-new Date(s))/1e3/60),u=o(s).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-a,!0);if(e){var c=u.utcOffset();u=u.add(n-c,"minute")}return u.$x.$timezone=t,u},u.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=s(this.valueOf(),e,{timeZoneName:t}).find((function(t){return"timezonename"===t.type.toLowerCase()}));return n&&n.value};var c=u.startOf;u.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return c.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var r=n&&e,s=n||e||i,u=a(+o(),s);if("string"!=typeof t)return o(t).tz(s);var c=function(t,e,n){var r=t-60*e*1e3,o=a(r,n);if(e===o)return[r,e];var i=a(r-=60*(o-e)*1e3,n);return o===i?[r,o]:[t-60*Math.min(o,i)*1e3,Math.max(o,i)]}(o.utc(t,r).valueOf(),u,s),l=c[0],f=c[1],d=o(l).utcOffset(f);return d.$x.$timezone=s,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){i=t}}}()},600:function(t){t.exports=function(){"use strict";var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,o,i){var s=o.prototype;i.utc=function(t){return new o({date:t,utc:!0,args:arguments})},s.utc=function(e){var n=i(this.toDate(),{locale:this.$L,utc:!0});return e?n.add(this.utcOffset(),t):n},s.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var a=s.parse;s.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),a.call(this,t)};var u=s.init;s.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else u.call(this)};var c=s.utcOffset;s.utcOffset=function(r,o){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(t){void 0===t&&(t="");var r=t.match(e);if(!r)return null;var o=(""+r[0]).match(n)||["-",0,0],i=o[0],s=60*+o[1]+ +o[2];return 0===s?0:"+"===i?s:-s}(r),null===r))return this;var s=Math.abs(r)<=16?60*r:r,a=this;if(o)return a.$offset=s,a.$u=0===r,a;if(0!==r){var u=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(s+u,t)).$offset=s,a.$x.$localOffset=u}else a=this.utc();return a};var l=s.format;s.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return l.call(this,e)},s.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var f=s.toDate;s.toDate=function(t){return"s"===t&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=s.diff;s.diff=function(t,e,n){if(t&&this.$u===t.$u)return d.call(this,t,e,n);var r=this.local(),o=i(t).local();return d.call(r,o,e,n)}}}()},502:function(t){t.exports=function(){"use strict";var t="week",e="year";return function(n,r,o){var i=r.prototype;i.week=function(n){if(void 0===n&&(n=null),null!==n)return this.add(7*(n-this.week()),"day");var r=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var i=o(this).startOf(e).add(1,e).date(r),s=o(this).endOf(t);if(i.isBefore(s))return 1}var a=o(this).startOf(e).date(r).startOf(t).subtract(1,"millisecond"),u=this.diff(a,t,!0);return u<0?o(this).startOf("week").week():Math.ceil(u)},i.weeks=function(t){return void 0===t&&(t=null),this.week(t)}}}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{"use strict";n.d(r,{default:()=>Te});const t={},e={};let o=!1,i=t=>{let e=t.getAttribute("class")||"";return e=e.split(" "),e};const s=(t,e)=>{let n=i(t);n=n.filter((t=>t!==e&&""!==t)),n.push(e),t.setAttribute("class",n.join(" "))},a=(t,e)=>{let n=i(t);n=n.filter((t=>t!==e&&""!==t)),t.setAttribute("class",n.join(" "))},u=document.documentElement;e["sumor.language"]=t=>{const e=t.split("-");if(["ar","arc","dv","fa","ha","he","khw","ks","ku","ps","ur","yi"].indexOf(e[0])>=0){if(!o){o=!0;const t=".SumorRTL{direction: rtl;}";var n=document.createElement("style");n.type="text/css",n.innerHTML=t,document.getElementsByTagName("HEAD").item(0).appendChild(n)}s(u,"SumorRTL")}else a(u,"SumorRTL");return u.setAttribute("lang",t),t},e["sumor.dark"]=t=>(t?s(u,"SumorDark"):a(u,"SumorDark"),t);const c=e;let l={reactive:t=>t};const f={get:()=>l,set(t){Object.assign(l,t)}},d=(t,e)=>{const n=c[t];return n?n(e):e},h=(e,n)=>{if(e.indexOf(".")<0){n=d(e,n);for(let t in n){const r=`${e}.${t}`;n[t]=d(r,n[t])}((e,n)=>{const{reactive:r}=f.get();t[e]=r(n)})(e,n)}else{n=d(e,n);let r=t;const o=e.split(".");for(let t=0;t<o.length;t++){const e=o[t];t===o.length-1?r[e]=n:(r[e]=r[e]||{},r=r[e])}}};var m=n(693),p=n.n(m),y=n(311),g=n.n(y),w=n(600),b=n.n(w),v=n(197),O=n.n(v),S=(n(866),n(815)),E=n.n(S),$=n(634),T=n.n($),x=n(502),D=n.n(x),M=n(266),_=n.n(M);p().extend(g()),p().extend(b()),p().extend(O()),p().extend(E()),p().extend(T()),p().extend(D()),p().extend(_());const A=p(),R=A.tz.guess();let L,k;"undefined"!=typeof navigator&&(L=navigator.language||navigator.browserLanguage),L=L||"zh-CN",k=R||"Asia/Shanghai",h("sumor",{width:0,height:0,language:L,timezone:k,dark:!1,iconFont:"https://icon.sumor.com/group",device:{overflow:!1},meta:{name:null,api:{},text:{},instance:{}},token:{id:null,user:null,time:null,permission:{},data:{}}}),h("internal",{messageId:0,messages:[]});try{const t=window.matchMedia("(prefers-color-scheme: dark)").matches;h("sumor.dark",t),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(t=>{t.matches?h("sumor.dark",!0):h("sumor.dark",!1)}))}catch(t){console.log("浏览器不支持暗黑模式")}const j=t,C={set:h,store:j};function N(t,e){return function(){return t.apply(e,arguments)}}const{toString:P}=Object.prototype,{getPrototypeOf:U}=Object,Y=(t=>e=>{const n=P.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),F=t=>(t=t.toLowerCase(),e=>Y(e)===t),B=t=>e=>typeof e===t,{isArray:z}=Array,H=B("undefined"),I=F("ArrayBuffer"),q=B("string"),J=B("function"),W=B("number"),V=t=>null!==t&&"object"==typeof t,X=t=>{if("object"!==Y(t))return!1;const e=U(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},K=F("Date"),Z=F("File"),G=F("Blob"),Q=F("FileList"),tt=F("URLSearchParams");function et(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),z(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{const o=n?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let s;for(r=0;r<i;r++)s=o[r],e.call(null,t[s],s,t)}}function nt(t,e){e=e.toLowerCase();const n=Object.keys(t);let r,o=n.length;for(;o-- >0;)if(r=n[o],e===r.toLowerCase())return r;return null}const rt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,ot=t=>!H(t)&&t!==rt,it=(st="undefined"!=typeof Uint8Array&&U(Uint8Array),t=>st&&t instanceof st);var st;const at=F("HTMLFormElement"),ut=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),ct=F("RegExp"),lt=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};et(n,((n,o)=>{!1!==e(n,o,t)&&(r[o]=n)})),Object.defineProperties(t,r)},ft="abcdefghijklmnopqrstuvwxyz",dt="0123456789",ht={DIGIT:dt,ALPHA:ft,ALPHA_DIGIT:ft+ft.toUpperCase()+dt},mt={isArray:z,isArrayBuffer:I,isBuffer:function(t){return null!==t&&!H(t)&&null!==t.constructor&&!H(t.constructor)&&J(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||P.call(t)===e||J(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&I(t.buffer),e},isString:q,isNumber:W,isBoolean:t=>!0===t||!1===t,isObject:V,isPlainObject:X,isUndefined:H,isDate:K,isFile:Z,isBlob:G,isRegExp:ct,isFunction:J,isStream:t=>V(t)&&J(t.pipe),isURLSearchParams:tt,isTypedArray:it,isFileList:Q,forEach:et,merge:function t(){const{caseless:e}=ot(this)&&this||{},n={},r=(r,o)=>{const i=e&&nt(n,o)||o;X(n[i])&&X(r)?n[i]=t(n[i],r):X(r)?n[i]=t({},r):z(r)?n[i]=r.slice():n[i]=r};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&et(arguments[t],r);return n},extend:(t,e,n,{allOwnKeys:r}={})=>(et(e,((e,r)=>{n&&J(e)?t[r]=N(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,s;const a={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],r&&!r(s,t,e)||a[s]||(e[s]=t[s],a[s]=!0);t=!1!==n&&U(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Y,kindOfTest:F,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(z(t))return t;let e=t.length;if(!W(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:at,hasOwnProperty:ut,hasOwnProp:ut,reduceDescriptors:lt,freezeMethods:t=>{lt(t,((e,n)=>{if(J(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];J(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return z(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:nt,global:rt,isContextDefined:ot,ALPHABET:ht,generateString:(t=16,e=ht.ALPHA_DIGIT)=>{let n="";const{length:r}=e;for(;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&J(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(V(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const o=z(t)?[]:{};return et(t,((t,e)=>{const i=n(t,r+1);!H(i)&&(o[e]=i)})),e[r]=void 0,o}}return t};return n(t,0)}};function pt(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}mt.inherits(pt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:mt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const yt=pt.prototype,gt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{gt[t]={value:t}})),Object.defineProperties(pt,gt),Object.defineProperty(yt,"isAxiosError",{value:!0}),pt.from=(t,e,n,r,o,i)=>{const s=Object.create(yt);return mt.toFlatObject(t,s,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),pt.call(s,t.message,e,n,r,o),s.cause=t,s.name=t.name,i&&Object.assign(s,i),s};const wt=pt;function bt(t){return mt.isPlainObject(t)||mt.isArray(t)}function vt(t){return mt.endsWith(t,"[]")?t.slice(0,-2):t}function Ot(t,e,n){return t?t.concat(e).map((function(t,e){return t=vt(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const St=mt.toFlatObject(mt,{},null,(function(t){return/^is[A-Z]/.test(t)})),Et=function(t,e,n){if(!mt.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=mt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!mt.isUndefined(e[t])}))).metaTokens,o=n.visitor||c,i=n.dots,s=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&mt.isSpecCompliantForm(e);if(!mt.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(mt.isDate(t))return t.toISOString();if(!a&&mt.isBlob(t))throw new wt("Blob is not supported. Use a Buffer instead.");return mt.isArrayBuffer(t)||mt.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,o){let a=t;if(t&&!o&&"object"==typeof t)if(mt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(mt.isArray(t)&&function(t){return mt.isArray(t)&&!t.some(bt)}(t)||(mt.isFileList(t)||mt.endsWith(n,"[]"))&&(a=mt.toArray(t)))return n=vt(n),a.forEach((function(t,r){!mt.isUndefined(t)&&null!==t&&e.append(!0===s?Ot([n],r,i):null===s?n:n+"[]",u(t))})),!1;return!!bt(t)||(e.append(Ot(o,n,i),u(t)),!1)}const l=[],f=Object.assign(St,{defaultVisitor:c,convertValue:u,isVisitable:bt});if(!mt.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!mt.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),mt.forEach(n,(function(n,i){!0===(!(mt.isUndefined(n)||null===n)&&o.call(e,n,mt.isString(i)?i.trim():i,r,f))&&t(n,r?r.concat(i):[i])})),l.pop()}}(t),e};function $t(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function Tt(t,e){this._pairs=[],t&&Et(t,this,e)}const xt=Tt.prototype;xt.append=function(t,e){this._pairs.push([t,e])},xt.toString=function(t){const e=t?function(e){return t.call(this,e,$t)}:$t;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Dt=Tt;function Mt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function _t(t,e,n){if(!e)return t;const r=n&&n.encode||Mt,o=n&&n.serialize;let i;if(i=o?o(e,n):mt.isURLSearchParams(e)?e.toString():new Dt(e,n).toString(r),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const At=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){mt.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Rt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Lt={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Dt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]},kt=function(t){function e(t,n,r,o){let i=t[o++];const s=Number.isFinite(+i),a=o>=t.length;return i=!i&&mt.isArray(r)?r.length:i,a?(mt.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s):(r[i]&&mt.isObject(r[i])||(r[i]=[]),e(t,n,r[i],o)&&mt.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}(r[i])),!s)}if(mt.isFormData(t)&&mt.isFunction(t.entries)){const n={};return mt.forEachEntry(t,((t,r)=>{e(function(t){return mt.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null},jt={"Content-Type":void 0},Ct={transitional:Rt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=mt.isObject(t);if(o&&mt.isHTMLForm(t)&&(t=new FormData(t)),mt.isFormData(t))return r&&r?JSON.stringify(kt(t)):t;if(mt.isArrayBuffer(t)||mt.isBuffer(t)||mt.isStream(t)||mt.isFile(t)||mt.isBlob(t))return t;if(mt.isArrayBufferView(t))return t.buffer;if(mt.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Et(t,new Lt.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Lt.isNode&&mt.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=mt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Et(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(mt.isString(t))try{return(0,JSON.parse)(t),mt.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Ct.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&&mt.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw wt.from(t,wt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Lt.classes.FormData,Blob:Lt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};mt.forEach(["delete","get","head"],(function(t){Ct.headers[t]={}})),mt.forEach(["post","put","patch"],(function(t){Ct.headers[t]=mt.merge(jt)}));const Nt=Ct,Pt=mt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ut=Symbol("internals");function Yt(t){return t&&String(t).trim().toLowerCase()}function Ft(t){return!1===t||null==t?t:mt.isArray(t)?t.map(Ft):String(t)}function Bt(t,e,n,r,o){return mt.isFunction(r)?r.call(this,e,n):(o&&(e=n),mt.isString(e)?mt.isString(r)?-1!==e.indexOf(r):mt.isRegExp(r)?r.test(e):void 0:void 0)}class zt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=Yt(e);if(!o)throw new Error("header name must be a non-empty string");const i=mt.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=Ft(t))}const i=(t,e)=>mt.forEach(t,((t,n)=>o(t,n,e)));return mt.isPlainObject(t)||t instanceof this.constructor?i(t,e):mt.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z]+$/.test(t.trim())?i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&Pt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t),e):null!=t&&o(e,t,n),this}get(t,e){if(t=Yt(t)){const n=mt.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(mt.isFunction(e))return e.call(this,t,n);if(mt.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Yt(t)){const n=mt.findKey(this,t);return!(!n||void 0===this[n]||e&&!Bt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=Yt(t)){const o=mt.findKey(n,t);!o||e&&!Bt(0,n[o],o,e)||(delete n[o],r=!0)}}return mt.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Bt(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return mt.forEach(this,((r,o)=>{const i=mt.findKey(n,o);if(i)return e[i]=Ft(r),void delete e[o];const s=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();s!==o&&delete e[o],e[s]=Ft(r),n[s]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return mt.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&&mt.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[Ut]=this[Ut]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=Yt(t);e[r]||(function(t,e){const n=mt.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return mt.isArray(t)?t.forEach(r):r(t),this}}zt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),mt.freezeMethods(zt.prototype),mt.freezeMethods(zt);const Ht=zt;function It(t,e){const n=this||Nt,r=e||n,o=Ht.from(r.headers);let i=r.data;return mt.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function qt(t){return!(!t||!t.__CANCEL__)}function Jt(t,e,n){wt.call(this,null==t?"canceled":t,wt.ERR_CANCELED,e,n),this.name="CanceledError"}mt.inherits(Jt,wt,{__CANCEL__:!0});const Wt=Jt,Vt=Lt.isStandardBrowserEnv?{write:function(t,e,n,r,o,i){const s=[];s.push(t+"="+encodeURIComponent(e)),mt.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),mt.isString(r)&&s.push("path="+r),mt.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Xt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Kt=Lt.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=mt.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0},Zt=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,s=0;return e=void 0!==e?e:1e3,function(a){const u=Date.now(),c=r[s];o||(o=u),n[i]=a,r[i]=u;let l=s,f=0;for(;l!==i;)f+=n[l++],l%=t;if(i=(i+1)%t,i===s&&(s=(s+1)%t),u-o<e)return;const d=c&&u-c;return d?Math.round(1e3*f/d):void 0}};function Gt(t,e){let n=0;const r=Zt(50,250);return o=>{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,u=r(a);n=i;const c={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:u||void 0,estimated:u&&s&&i<=s?(s-i)/u:void 0,event:o};c[e?"download":"upload"]=!0,t(c)}}const Qt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let r=t.data;const o=Ht.from(t.headers).normalize(),i=t.responseType;let s;function a(){t.cancelToken&&t.cancelToken.unsubscribe(s),t.signal&&t.signal.removeEventListener("abort",s)}mt.isFormData(r)&&(Lt.isStandardBrowserEnv||Lt.isStandardBrowserWebWorkerEnv)&&o.setContentType(!1);let u=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+n))}const c=Xt(t.baseURL,t.url);function l(){if(!u)return;const r=Ht.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());!function(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new wt("Request failed with status code "+n.status,[wt.ERR_BAD_REQUEST,wt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),a()}),(function(t){n(t),a()}),{data:i&&"text"!==i&&"json"!==i?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:t,request:u}),u=null}if(u.open(t.method.toUpperCase(),_t(c,t.params,t.paramsSerializer),!0),u.timeout=t.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new wt("Request aborted",wt.ECONNABORTED,t,u)),u=null)},u.onerror=function(){n(new wt("Network Error",wt.ERR_NETWORK,t,u)),u=null},u.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||Rt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new wt(e,r.clarifyTimeoutError?wt.ETIMEDOUT:wt.ECONNABORTED,t,u)),u=null},Lt.isStandardBrowserEnv){const e=(t.withCredentials||Kt(c))&&t.xsrfCookieName&&Vt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===r&&o.setContentType(null),"setRequestHeader"in u&&mt.forEach(o.toJSON(),(function(t,e){u.setRequestHeader(e,t)})),mt.isUndefined(t.withCredentials)||(u.withCredentials=!!t.withCredentials),i&&"json"!==i&&(u.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&u.addEventListener("progress",Gt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",Gt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(s=e=>{u&&(n(!e||e.type?new Wt(null,t,u):e),u.abort(),u=null)},t.cancelToken&&t.cancelToken.subscribe(s),t.signal&&(t.signal.aborted?s():t.signal.addEventListener("abort",s)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(c);f&&-1===Lt.protocols.indexOf(f)?n(new wt("Unsupported protocol "+f+":",wt.ERR_BAD_REQUEST,t)):u.send(r||null)}))}};mt.forEach(Qt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const te={getAdapter:t=>{t=mt.isArray(t)?t:[t];const{length:e}=t;let n,r;for(let o=0;o<e&&(n=t[o],!(r=mt.isString(n)?Qt[n.toLowerCase()]:n));o++);if(!r){if(!1===r)throw new wt(`Adapter ${n} is not supported by the environment`,"ERR_NOT_SUPPORT");throw new Error(mt.hasOwnProp(Qt,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`)}if(!mt.isFunction(r))throw new TypeError("adapter is not a function");return r},adapters:Qt};function ee(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Wt(null,t)}function ne(t){return ee(t),t.headers=Ht.from(t.headers),t.data=It.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),te.getAdapter(t.adapter||Nt.adapter)(t).then((function(e){return ee(t),e.data=It.call(t,t.transformResponse,e),e.headers=Ht.from(e.headers),e}),(function(e){return qt(e)||(ee(t),e&&e.response&&(e.response.data=It.call(t,t.transformResponse,e.response),e.response.headers=Ht.from(e.response.headers))),Promise.reject(e)}))}const re=t=>t instanceof Ht?t.toJSON():t;function oe(t,e){e=e||{};const n={};function r(t,e,n){return mt.isPlainObject(t)&&mt.isPlainObject(e)?mt.merge.call({caseless:n},t,e):mt.isPlainObject(e)?mt.merge({},e):mt.isArray(e)?e.slice():e}function o(t,e,n){return mt.isUndefined(e)?mt.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function i(t,e){if(!mt.isUndefined(e))return r(void 0,e)}function s(t,e){return mt.isUndefined(e)?mt.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function a(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const u={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(t,e)=>o(re(t),re(e),!0)};return mt.forEach(Object.keys(t).concat(Object.keys(e)),(function(r){const i=u[r]||o,s=i(t[r],e[r],r);mt.isUndefined(s)&&i!==a||(n[r]=s)})),n}const ie={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{ie[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const se={};ie.transitional=function(t,e,n){function r(t,e){return"[Axios v1.3.4] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new wt(r(o," has been removed"+(e?" in "+e:"")),wt.ERR_DEPRECATED);return e&&!se[o]&&(se[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const ae={assertOptions:function(t,e,n){if("object"!=typeof t)throw new wt("options must be an object",wt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],s=e[i];if(s){const e=t[i],n=void 0===e||s(e,i,t);if(!0!==n)throw new wt("option "+i+" must be "+n,wt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new wt("Unknown option "+i,wt.ERR_BAD_OPTION)}},validators:ie},ue=ae.validators;class ce{constructor(t){this.defaults=t,this.interceptors={request:new At,response:new At}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=oe(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;let i;void 0!==n&&ae.assertOptions(n,{silentJSONParsing:ue.transitional(ue.boolean),forcedJSONParsing:ue.transitional(ue.boolean),clarifyTimeoutError:ue.transitional(ue.boolean)},!1),void 0!==r&&ae.assertOptions(r,{encode:ue.function,serialize:ue.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),i=o&&mt.merge(o.common,o[e.method]),i&&mt.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Ht.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,s.unshift(t.fulfilled,t.rejected))}));const u=[];let c;this.interceptors.response.forEach((function(t){u.push(t.fulfilled,t.rejected)}));let l,f=0;if(!a){const t=[ne.bind(this),void 0];for(t.unshift.apply(t,s),t.push.apply(t,u),l=t.length,c=Promise.resolve(e);f<l;)c=c.then(t[f++],t[f++]);return c}l=s.length;let d=e;for(f=0;f<l;){const t=s[f++],e=s[f++];try{d=t(d)}catch(t){e.call(this,t);break}}try{c=ne.call(this,d)}catch(t){return Promise.reject(t)}for(f=0,l=u.length;f<l;)c=c.then(u[f++],u[f++]);return c}getUri(t){return _t(Xt((t=oe(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}mt.forEach(["delete","get","head","options"],(function(t){ce.prototype[t]=function(e,n){return this.request(oe(n||{},{method:t,url:e,data:(n||{}).data}))}})),mt.forEach(["post","put","patch"],(function(t){function e(e){return function(n,r,o){return this.request(oe(o||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}ce.prototype[t]=e(),ce.prototype[t+"Form"]=e(!0)}));const le=ce;class fe{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new Wt(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new fe((function(e){t=e})),cancel:t}}}const de=fe,he={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(he).forEach((([t,e])=>{he[e]=t}));const me=he,pe=function t(e){const n=new le(e),r=N(le.prototype.request,n);return mt.extend(r,le.prototype,n,{allOwnKeys:!0}),mt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(oe(e,n))},r}(Nt);pe.Axios=le,pe.CanceledError=Wt,pe.CancelToken=de,pe.isCancel=qt,pe.VERSION="1.3.4",pe.toFormData=Et,pe.AxiosError=wt,pe.Cancel=pe.CanceledError,pe.all=function(t){return Promise.all(t)},pe.spread=function(t){return function(e){return t.apply(null,e)}},pe.isAxiosError=function(t){return mt.isObject(t)&&!0===t.isAxiosError},pe.mergeConfig=oe,pe.AxiosHeaders=Ht,pe.formToJSON=t=>kt(mt.isHTMLForm(t)?new FormData(t):t),pe.HttpStatusCode=me,pe.default=pe;const ye=pe,ge=async(t,e,n)=>{n=n||{};let r,o=!1;for(let t in e)e[t]instanceof File&&(o=!0);if(o){r=new FormData;for(let t in e)"object"!=typeof e[t]||e[t]instanceof File||(e[t]=JSON.stringify(e[t])),r.append(t,e[t])}else r=e;try{return(await ye({method:"POST",url:t,data:r,headers:{"Content-Type":o?"multipart/form-data":"application/json;charset=utf-8","Accept-Language":n.language?n.language:void 0,"sumor-timezone":n.timezone?n.timezone:void 0}})).data}catch(t){return{error:!0,...t.response.data}}},we=async(t,e)=>{let n;const r=async(t,e)=>{const n={};return n.language=j.sumor.language,n.timezone=j.sumor.timezone,await ge(t,e,n)};switch(t){case"meta":j.sumor.meta.name&&!e||(n=await r("/sumor/meta"),Object.assign(j.sumor.meta,n.data));break;case"token":n=await r("/sumor/token"),Object.assign(j.sumor.token,n.data),j.sumor.token.id=n.data.id||null,j.sumor.token.user=n.data.user||null,j.sumor.token.time=n.data.time||null,j.sumor.token.permission=n.data.permission||{},j.sumor.token.data=n.data.data||{}}},be=async(t,e)=>{await we("meta");const n={};return n.language=j.sumor.language,n.timezone=j.sumor.timezone,await ge(t,e,n)},ve=async(t,e)=>{await we("meta");const{origin:n,path:r}=(t=>{let e="",n=t;if(0===t.indexOf("http")){const r=t.split("/");e=r.slice(0,3).join("/"),n=r.slice(3,r.length).join("/")}return 0!==n.indexOf("/")&&(n="/"+n),{origin:e,path:n}})(e),o=j.sumor.meta.api,i=[];for(let t in o)if(0===t.indexOf(r)){const e=t.replace(r,"").split("/");if(2===e.length){const r=e[1];i.push({path:t,key:r,meta:o[t],action:async e=>await be(n+t,e)})}}((t,e,n)=>{n=n||{};let r=C.set(`${t}Model`,{data:[],selected:[],count:0,currentPage:0,maxPage:0,busy:{}});const o={action:{},meta:{}};sumor.model[t]=o;const i={};let s,a,u={};for(let t of e)r.busy[t.key]=!1,o.meta[t.key]=t.meta,i[t.key]=async e=>{r.busy[t.key]=!0;const n=await t.action(e);if(r.busy[t.key]=!1,n.error)throw n;return n.data},"query"===t.key?s=i[t.key]:"read"===t.key?a=i[t.key]:u[t.key]=i[t.key];let c={},l="",f=n.top||100,d=n.skip||0;const h=()=>Math.floor(d/f)+1;o.select=t=>{for(let e of r.data)r.selected=r.selected.filter((t=>t.id!==e.id)),t.indexOf(e.id)>=0&&r.selected.push(e)},o.refresh=async t=>{t&&t.top&&(f=t.top,delete t.top),t&&JSON.stringify(t)!==JSON.stringify(c)&&(c=t,d=0,r.selected=[]);const e=await s({...c,top:f,skip:d,sort:l});r.count=e.count,r.maxPage=Math.floor(r.count/f)+1,r.currentPage=Math.floor(d/f)+1,r.data=e.data,(()=>{const t=r.selected.map((t=>t.id));for(let e of r.data)r.selected=r.selected.filter((t=>t.id!==e.id)),t.indexOf(e.id)>=0&&r.selected.push(e)})()},o.sort=async t=>{l=t,await o.refresh()},o.goto=async t=>{t>0&&t<=r.maxPage&&(d=(t-1)*f,await o.refresh())},o.previous=async()=>{const t=h()-1;await o.goto(t)},o.next=async()=>{const t=h()+1;await o.goto(t)};for(let t in u)o.action[t]=async e=>{const n=await u[t](e);return await o.refresh(),n};o.read=async t=>{const e=await a(t),n=r.data.filter((e=>e.id===t.id))[0];return n&&Object.assign(n,e),e},o.resize=async t=>{f=t,await o.refresh()}})(t,i)},Oe={now:()=>Date.now(),timezone:R,parse:t=>{const e=A(t);return{year:e.year(),month:e.month()+1,date:e.date(),hour:e.hour(),minute:e.minute(),second:e.second(),weekday:e.day()+1,yearday:e.dayOfYear(),week:e.week(),quarter:e.quarter()}},format:(t,e,n)=>A(t).tz(n||j.sumor.timezone).locale(j.sumor.language.toLowerCase()).format(e),timeTo:(t,e)=>(e=e||Date.now(),A(e).locale(j.sumor.language.toLowerCase()).to(A(t)))},Se={css(t){const e=document.head.children;let n=!1;for(const r in e)"LINK"===e[r].tagName&&e[r].href===t&&(n=!0);if(!n){const e=document.getElementsByTagName("head")[0],n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=t,e.appendChild(n)}},async js(t){const e=document.head.children;let n=!1;for(const r in e)"SCRIPT"===e[r].tagName&&e[r].src===t&&(n=!0);n||await new Promise((e=>{const n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.src=t,r.type="text/javascript",r.addEventListener?r.addEventListener("load",(function(){e()}),!1):r.attachEvent&&r.attachEvent("onreadystatechange",(function(){"loaded"===window.event.srcElement.readyState&&e()})),n.appendChild(r)}))}};let Ee,$e="https://library.sumor.com/xlsx/0.16.0/xlsx.full.min.js";const Te={model:{},form:t=>new class{constructor(){this.pending=!1,this.data={}}async call(e){e=Object.assign({},this.data,e),this.pending=!0;const n=await be(t,e);if(this.pending=!1,n.error)throw n;return n.data}},call:be,init:async t=>{await we("meta"),f.set(t);for(let t in C.store)C.set(t,C.store[t])},update:we,registerModel:async t=>{if(t)for(let e in t)await ve(e,t[e])},logout:async()=>{await be("/sumor/logout"),await we("token")},range:async t=>{const e=await be("/sumor/range",{name:t});if(e.error)throw e;{const t=e.data;let n=[];if("string"==typeof t){const e=t.split("\n");for(let t of e){const e=t.split("=");if(e.length>1){const t=e[1].split("|");n.push({key:e[0],text:t[0],text1:t[1],text2:t[2]})}}}else n=t;return n.sort(((t,e)=>t.key>e.key?1:-1)),n}},time:Oe,table:{async import(t){await Se.js($e);let e=await new Promise((e=>{const n=new FileReader;n.readAsArrayBuffer(t),n.onload=()=>{const t=window.XLSX.read(n.result,{type:"array"});e(t)}}));const n=e.Props.SheetNames[0],r=e.Sheets[n];return window.XLSX.utils.sheet_to_json(r)},async export({name:t,type:e,data:n}){await Se.js($e);let r=window.XLSX.utils.aoa_to_sheet(n),o=window.XLSX.utils.book_new();window.XLSX.utils.book_append_sheet(o,r,"default");let i=`${t=t||"export"}.${e=e||"xlsx"}`;return window.XLSX.writeFile(o,i)}},qrcode:async t=>(await Se.js("https://library.sumor.com/qrcode/qrcode.min.js"),await new Promise((e=>{window.QRCode.toDataURL(t,((t,n)=>{e(n)}))}))),copy:async t=>{await Se.js("https://library.sumor.com/clipboard/2.0.11/clipboard.min.js"),Ee||(Ee=document.createElement("button"),Ee.id="SumorCopyPlaceholder",Ee.style.display="none",document.body.appendChild(Ee)),document.getElementById(Ee.id).click(),setTimeout((()=>{document.getElementById(Ee.id).click()}),100),await new Promise(((e,n)=>{try{const r=new window.ClipboardJS("#"+Ee.id,{text:()=>t});r.on("success",(t=>{r.off("error"),r.off("success"),r.destroy(),e()})),r.on("error",(t=>{console.log("复制到粘贴板失败"),console.log(t),r.off("error"),r.off("success"),r.destroy(),n()})),r.onClick(Ee)}catch(t){}}))},upload:async function(t){return await new Promise((e=>{const n=document.createElement("input");n.type="file",n.name="file",t&&(n.multiple="multiple"),n.addEventListener("change",(function(n){e(t?n.target.files:n.target.files[0])})),n.value="",n.click()}))},load:Se,...C}})(),r.default})()));