ddan-js 2.8.3 → 2.8.4
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/bin/ddan-js.esm.js +1 -1
- package/bin/ddan-js.js +1 -1
- package/bin/lib/modules/convert/base.js +13 -0
- package/bin/lib/modules/node/aliyun.js +156 -0
- package/bin/lib/modules/node/file.js +25 -0
- package/bin/lib/modules/node/index.js +2 -1
- package/bin/lib/modules/node/socks5.js +48 -18
- package/bin/types/index.d.ts +14 -9
- package/bin/types/modules/convert/base.d.ts +2 -0
- package/bin/types/modules/convert/index.d.ts +1 -0
- package/bin/types/modules/node/aliyun.d.ts +27 -0
- package/bin/types/modules/node/file.d.ts +6 -0
- package/bin/types/modules/node/index.d.ts +2 -0
- package/bin/types/modules/node/socks5.d.ts +10 -7
- package/package.json +1 -1
package/bin/ddan-js.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"crypto";import t from"zlib";import r from"net";import{SocksClient as n}from"socks";import{exec as s}from"child_process";var i={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const o="0123456789",a="abcdefghijklmnopqrstuvwxyz",c="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var l={keyNumber:o,keyLower:a,keyUpper:c,keyChars:o+a+c};const u=(e=0,t=0)=>{const r=l.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class h{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=u()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class f{_loopTimer;_event=new h;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var d={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class p{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/d.oneSecond);let r=t.countdown;t.d=Math.floor(r/d.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=d.oneDay,t.h=Math.floor(r/d.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=d.oneHour,t.m=Math.floor(r/d.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=d.oneMinute,t.s=Math.floor(r/d.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=d.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>d.oneHour?"hh:mm:ss":t.countdown>d.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const g=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?y(r).format(t):""},y=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new p(t||0)};function m({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(g(Date.now(),o)).getTime()}var w={...d,now:function(){return y(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:m,todayZero:()=>m({}),format:g,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return y(r).toCountdown(t)},dtime:y,loopFrame:(e=500)=>new f(e),getTimezoneOffset:()=>p.timezoneOffset,getLocalTime:p.getLocalTime};const b="object"==typeof global&&null!==global&&global.Object===Object&&global,_="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,v="object"==typeof self&&null!==self&&self.Object===Object&&self,x=_||b||v||Function("return this")(),A=x.Symbol,{toString:S,hasOwnProperty:k,propertyIsEnumerable:C}=Object.prototype,$=A?A.toStringTag:void 0;function O(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":$&&$ in Object(e)?function(e){const t=k.call(e,$),r=e[$];let n=!1;try{e[$]=void 0,n=!0}catch(e){}const s=S.call(e);return n&&(t?e[$]=r:delete e[$]),s}(e):S.call(e)}var E={getTag:O,getType:function(e){return(O(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:S,hasOwnProperty:k,propertyIsEnumerable:C};const j="object"==typeof exports&&null!==exports&&!exports.nodeType&&exports,P=j&&"object"==typeof module&&null!==module&&!module.nodeType&&module,T=P&&P.exports===j&&b.process,B=(()=>{try{const e=P&&P.require&&P.require("util").types;return e||T&&T.binding&&T.binding("util")}catch(e){}})();var q="[object Function]",L="[object GeneratorFunction]",F="[object AsyncFunction]",R=9007199254740991;const D=/^(?:0|[1-9]\d*)$/,U=x?.Buffer?.isBuffer,I=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,M=B&&B.isTypedArray;function K(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function z(e){return null!=e&&"object"==typeof e}const N=Array.isArray;function H(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=R}(e.length)&&!W(e)}function V(e){return z(e)&&H(e)}function W(e){var t=K(e)?E.getTag(e):"";return t===q||t===L||t===F}function Z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function Y(e){return V(e)&&E.hasOwnProperty.call(e,"callee")&&(!E.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==E.toString.call(e))}const Q="undefined"!=typeof window&&void 0!==window.document,G="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,J=M?e=>M(e):e=>z(e)&&I.test(E.getTag(e)),X="function"==typeof U?U:()=>!1;var ee={is:function(e,t){return E.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===E.getTag(e)},isString:function(e){return"string"==typeof e||!N(e)&&z(e)&&"[object String]"==E.getTag(e)},isObject:K,isObjectLike:z,isPlainObject:function(e){if(!z(e)||"[object Object]"!=E.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||z(e)&&"[object Symbol]"===E.getTag(e)},isFunction:W,isArray:N,isArrayLikeObject:V,isIndex:function(e,t){return!!(t=null==t?R:t)&&("number"==typeof e||D.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:H,isPrototype:Z,isArguments:Y,isPromise:function(e){return"[object Promise]"===(K(e)?E.getTag(e):"")},isBrowser:Q,isNode:G,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(H(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||X(e)||J(e)||Y(e)))return!e.length;const t=E.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Z(e))return!Object.keys(e).length;for(const t in e)if(E.hasOwnProperty.call(e,t))return!1;return!0}};const te=NaN,re=/^\s+|\s+$/g,ne=/^[-+]0x[0-9a-f]+$/i,se=/^0b[01]+$/i,ie=/^0o[0-7]+$/i,oe=parseInt,ae=1/0,ce=17976931348623157e292;function le(e){if("number"==typeof e)return e;if(ee.isSymbol(e))return te;if(ee.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=ee.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(re,"");const t=se.test(e);return t||ie.test(e)?oe(e.slice(2),t?2:8):ne.test(e)?te:+e}function ue(e){return e?(e=le(e))===ae||e===-ae?(e<0?-1:1)*ce:e==e?e:0:0===e?e:0}var he={toNumber:le,toFinite:ue,toInteger:function(e){var t=ue(e),r=t%1;return t==t?r?t-r:t:0}};const fe="Expected a function",de=Math.max,pe=Math.min;function ge(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError(fe);function d(t){const r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r),o}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-l>=i}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?pe(r,i-(e-l)):r}(e))}function y(e){return a=void 0,f&&n?d(e):(n=s=void 0,o)}function m(...e){const r=Date.now(),i=p(r);if(n=e,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?d(e):o}(c);if(h)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=he.toNumber(t)||0,ee.isObject(r)&&(u=!!r.leading,h="maxWait"in r,i=h?de(he.toNumber(r.maxWait)||0,t):i,f="trailing"in r?!!r.trailing:f),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?o:y(Date.now())},m.pending=function(){return void 0!==a},m}class ye{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(ee.isFunction(e))r=e(t);else{if(ee.isPromise(e))return e.then((e=>({...t,...e})));r=e}return ee.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function me(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const we=(e,t)=>{try{let r;return r=ee.isFunction(e)?e():e,me(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},be=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e;var _e={to:me,go:(e,t)=>we(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:we,toError:be,timeout:(e,t=0,r="timeout")=>{if(t<=0)return we(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([be(r||"timeout"),void 0])),t)}));return Promise.race([we(e,s),i])}};class ve{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var xe={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new ve;return void 0!==e&&t.set(e),t}};class Ae{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return _e.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class Se{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Ae(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await _e.delay(100),this._step()}return this.clear()}}class ke extends(xe.singleton()){__lockedMap=new Map;pipeline=new Se;constructor(){super()}lock(e,t){if(!e||!t)return;const r=_e.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return _e.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return _e.safeRun(e);const s=await n;return this.unlock(t),s}}var Ce={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],i=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3}}return t}};const $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Oe={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=Ce.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+$e.charAt(s)+$e.charAt(i)+$e.charAt(o)+$e.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=$e.indexOf(e.charAt(l++)),i=$e.indexOf(e.charAt(l++)),o=$e.indexOf(e.charAt(l++)),a=$e.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=Ce.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!ee.isArrayLike(e)||!ee.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+$e.charAt(s)+$e.charAt(i)+$e.charAt(o)+$e.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,i,o,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=$e.indexOf(e.charAt(l++)),i=$e.indexOf(e.charAt(l++)),o=$e.indexOf(e.charAt(l++)),a=$e.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c.push(t),64!=o&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function Ee(e){return Math.floor(Math.random()*e)}function je(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Pe=180/Math.PI;var Te={random:Ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=Ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:je,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=je(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Pe},degree2radian:function(e){return e/Pe},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var Be={bytes2str:e=>{if(!e||!ee.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")}};var qe={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Be.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};const Le=(e,t=!1)=>{const r=new Uint8Array(e);return t?Oe.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Fe={...Be,...qe,...Ce,...Oe,str2ab:(e="",t=!1)=>{if(t)return Oe.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Le,utf8ToBase64:e=>ee.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>ee.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Te.random(256);return t},textEncode:e=>Ce.toUtf8Bytes(e),textDecode:e=>Ce.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Oe.toBase64(e):ee.isArrayBuffer(e)?`data:${t};base64,`+Le(e,!0):"":""};const Re=e=>{try{const t=Fe.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},De=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var Ue={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=Re(r),s=De(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=Re(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:De(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:De,format_pem_content:Re,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Fe.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=Fe.concatBytes(...i);return Fe.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Fe.base64ToBytes(t),s=await e.importKey("pkcs8",Fe.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=Fe.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const Ie=()=>e.webcrypto.subtle;var Me={generateKeys:()=>Ue.generateKeys(Ie()),encrypt:async(e,t)=>Ue.encrypt(Ie(),e,t),decrypt:async(e,t)=>Ue.decrypt(Ie(),e,t),encode:async e=>Ue.encrypt(Ie(),e,Ue.RSAPublicKey),decode:async e=>Ue.decrypt(Ie(),e,Ue.RSAPrivateKey)};const Ke="undefined"!=typeof window?window.crypto.subtle:{};var ze={generateKeys:()=>Ue.generateKeys(Ke),encrypt:async(e,t)=>Ue.encrypt(Ke,e,t),decrypt:async(e,t)=>Ue.decrypt(Ke,e,t),encode:async e=>Ue.encrypt(Ke,e,Ue.RSAPublicKey),decode:async e=>Ue.decrypt(Ke,e,Ue.RSAPrivateKey)};const Ne=2654435769,He=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+Ne>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},Ve=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-Ne>>>0;return e},We=e=>{const t=Fe.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},Ze=(e,t)=>{const r=Fe.pkcs7Padding(e,8),n=We(t),s=[];for(let e=0;e<r.length;e+=8){const t=Fe.bytesToUint32(r.slice(e,e+8)),i=He(t,n);s.push(Fe.uint32ToBytes(i))}return Fe.concatBytes(...s)},Ye=(e,t)=>{const r=We(t),n=[];for(let t=0;t<e.length;t+=8){const s=Fe.bytesToUint32(e.slice(t,t+8)),i=Ve(s,r);n.push(Fe.uint32ToBytes(i))}const s=Fe.concatBytes(...n);return Fe.pkcs7Unpadding(s)};var Qe={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:He,decrypt:Ve,toTeaKey:We,encode:(e,t)=>{const r=Fe.textEncode(e),n=Ze(r,t);return Fe.bytesToBase64(n)},decode:(e,t)=>{const r=Fe.base64ToBytes(e),n=Ye(r,t);return Fe.textDecode(n.buffer)},encodeBytes:Ze,decodeBytes:Ye};function Ge(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const Je=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function Xe(e){return Je.test(e)}const et="\\ud800-\\udfff",tt=`[${et}]`,rt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",nt="\\ud83c[\\udffb-\\udfff]",st=`[^${et}]`,it="(?:\\ud83c[\\udde6-\\uddff]){2}",ot="[\\ud800-\\udbff][\\udc00-\\udfff]",at=`${`(?:${rt}|${nt})`}?`,ct="[\\ufe0e\\ufe0f]?",lt=ct+at+`(?:\\u200d(?:${[st,it,ot].join("|")})${ct+at})*`,ut=`(?:${[`${st}${rt}?`,rt,it,ot,tt].join("|")})`,ht=RegExp(`${nt}(?=${nt})|${ut+lt}`,"g");function ft(e){return Xe(e)?function(e){return e.match(ht)||[]}(e):function(e){return e.split("")}(e)}function dt(e){return t=>{if(!t)return"";const r=Xe(t)?ft(t):void 0,n=r?r[0]:t[0],s=r?Ge(r,1).join(""):t.slice(1);return n[e]()+s}}const pt="\\ud800-\\udfff",gt="\\u2700-\\u27bf",yt="a-z\\xdf-\\xf6\\xf8-\\xff",mt="A-Z\\xc0-\\xd6\\xd8-\\xde",wt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",bt="['’]",_t=`[${wt}]`,vt=`[${gt}]`,xt=`[${yt}]`,At=`[^${pt}${wt+"\\d"+gt+yt+mt}]`,St="(?:\\ud83c[\\udde6-\\uddff]){2}",kt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ct=`[${mt}]`,$t=`(?:${xt}|${At})`,Ot=`(?:${Ct}|${At})`,Et=`(?:${bt}(?:d|ll|m|re|s|t|ve))?`,jt=`(?:${bt}(?:D|LL|M|RE|S|T|VE))?`,Pt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Tt="[\\ufe0e\\ufe0f]?",Bt=Tt+Pt+`(?:\\u200d(?:${[`[^${pt}]`,St,kt].join("|")})${Tt+Pt})*`,qt=`(?:${[vt,St,kt].join("|")})${Bt}`,Lt=RegExp([`${Ct}?${xt}+${Et}(?=${[_t,Ct,"$"].join("|")})`,`${Ot}+${jt}(?=${[_t,Ct+$t,"$"].join("|")})`,`${Ct}?${$t}+${Et}`,`${Ct}+${jt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",qt].join("|"),"g");const Ft=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Rt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Dt(e,t){if(void 0===t){const t=Ft(e)?function(e){return e.match(Lt)}(e):function(e){return e.match(Rt)}(e);return t||[]}return e.match(t)||[]}function Ut(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Ut(e)))}`;if(ee.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const It=dt("toUpperCase"),Mt=dt("toLowerCase");var Kt={toString:Ut,startCase:e=>Dt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+It(t)),""),snakeCase:e=>Dt(Ut(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Dt(Ut(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Dt(Ut(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?It(t):t))),""),upperCase:e=>Dt(Ut(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:It,lowerCase:e=>Dt(Ut(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Mt,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}}};var zt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":Qe.encode(t,Fe.hex2str(Qe.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=Qe.decode(e,Fe.hex2str(Qe.TEAKey));return Kt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return ee.isBrowser?await ze.encode(t):await Me.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=ee.isBrowser?await ze.decode(e):await Me.decode(e);return Kt.jsonFormat(t)}catch(e){return""}}};var Nt={..._e,...zt,sleep:_e.delay,run:async function(e,t=0){if(t<=0)return _e.safeRun(e);const r=t>0?Date.now():0,n=await _e.safeRun(e),s=Date.now()-r;return s<t&&await _e.delay(t-s),n},exec:(e,t="")=>ke.I.exec(e,t),debounce:ge,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return ee.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ge(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new ye(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const i=r<1?100:r;do{if(!t)break;const[e,r]=await _e.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await _e.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>ke.I.pipeline.push(e,t),pipeline:(e=1)=>new Se(e),safeTask:(e,t)=>new Ae(e,t)};function Ht(e){return e!=e}function Vt(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var Wt,Zt,Yt=(Wt=Object.keys,Zt=Object,function(e){return Wt(Zt(e))}),Qt=Math.max;function Gt(e,t){var r=ee.isArray(e)||ee.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!E.hasOwnProperty.call(e,i)||s&&("length"==i||ee.isIndex(i,n))||r.push(i);return r}const Jt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=Jt(e[r]));return t};const Xt=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[o]=a):n[o]=er(e[o],a,r)}return n},er=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?Xt(e,t,r):Xt({...e},t,r),n},tr=(e,t,r={})=>Xt({...e},t,{cover:!0,...r}),rr=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{rr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&rr(e,t,r,n,s)},get:()=>i})};var nr={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:Kt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(o[a]=c))}return o},clone:Jt,merge:er,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=Kt.parseValue(n,{number:t,boolean:r});else e[n]=Kt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:tr,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=tr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:rr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var sr={...ee,...E,...nr,...xe,includes:function(e,t,r,n){e=ee.isArrayLike(e)?e:function(e){return e?Vt(e,function(e){return ee.isArrayLike(e)?Gt(e):function(e){if(!ee.isPrototype(e))return Yt(e);var t=[];for(var r in Object(e))E.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?he.toInteger(r):0;var s=e.length;return r<0&&(r=Qt(s+r,0)),ee.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,Ht,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(ee.isObject(e)&&(r=ee.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var ir={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var or={...ir,stepAction:function(e,t,r=100){if(!ee.isFunction(t))return;if(!ee.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!ee.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!ee.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!ee.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!ee.isObject(e))return;const s=e[t];(ee.isString(s)&&""!==s||ee.isNumber(s))&&(n[s]=e[r])})),n):n}};const ar="[object Object]",cr="[object Array]",lr=e=>Object.prototype.toString.call(e),ur=(e,t,r=!1)=>{if(e===t)return;const n=lr(e);if(n===lr(t))if(n===cr&&e.length>=t.length)for(let r=0;r<t.length;r++)ur(e[r],t[r]);else if(n===ar&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ur(e[n],t[n]):e[n]=null},hr=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=lr(e),o=lr(t);if(i===cr&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)hr(e[s],t[s],r,`${n}[${s}]`);else if(i===ar&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=lr(s),c=lr(o);if(s!==o)if(a===cr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)hr(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ar&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)hr(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class fr{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class dr{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new fr,response:new fr};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){dr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete dr.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=nr.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(dr.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await dr.requestLock[dr.blockId].request;else if(dr.requestLock[dr.blockId]&&dr.requestLock[dr.blockId].lock&&await dr.requestLock[dr.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),dr.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await dr.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const pr=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var gr={diff:function(e,t){const r={};return(e=>{if(lr(e)===ar)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];lr(n[t])!==ar&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),ur(e,t,!0),hr(e,t,r,"",!0),r},promixify:pr,run:(e,t={})=>e?Nt.run(pr(e)(t)):Nt.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:dr,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;nr.observe(s,o,a,e,c)}))}};const yr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let h=(e=e.split(t)).length;u>0&&h>u&&(h=u);for(let t=0;t<h;++t){let n,o,a,u,h=e[t].replace(l,"%20"),f=h.indexOf(r);f>=0?(n=h.substr(0,f),o=h.substr(f+1)):(n=h,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,E.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return nr.parseValue(c,{number:o,boolean:a}),c},mr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},wr=function(e,t=!0){return t?encodeURIComponent(e):e},br=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},_r=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,vr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,i=t.substring(s),o=i.lastIndexOf("."),a=i.substring(0,o)||"",c=o>=0?i.substring(o):"";return{route:t.substring(0,s)||"",page:n,name:i,withoutExtension:a,extname:c}},xr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(_r);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},Ar=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Sr={parse:yr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=wr(mr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+wr(mr(e),s)})).join(t):br(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+wr(mr(l),s)})).filter(Boolean).join(t):n?wr(mr(n),s)+r+wr(mr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=xr(e),{origin:r="",url:n="",query:s=""}=t,i=vr(n),o=yr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:vr,parseHost:xr,join:(...e)=>{let t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length<=0||(/^(\w+):\/\//.test(r)?t=[r]:t.push(r))})),t.join("/")},shExpMatch:Ar,isLocalIpAddress:e=>!!e&&!!(Ar(e,"127.0.0.1")||Ar(e,"localhost")||Ar(e,"192.168.*.*"))};const kr=/%[sdj%]/g;let Cr=()=>{};function $r(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function Or(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(kr,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function Er(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function jr(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(Cr=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Pr extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Tr(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);jr(o,r,(e=>(n(e),e.length?i(new Pr(e,$r(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let c=0;const l=[],u=new Promise(((t,u)=>{const h=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new Pr(l,$r(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?jr(n,r,h):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,h)}))}));return u.catch((e=>e)),u}function Br(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function qr(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const Lr=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Er(t,i||e.type)||n.push(Or(s.messages.required,e.fullField))};let Fr;const Rr=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Dr=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Ur={integer:e=>Ur.number(e)&&parseInt(e,10)===e,float:e=>Ur.number(e)&&!Ur.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Ur.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Rr),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Fr)return Fr;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return Fr=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),Fr})()),hex:e=>"string"==typeof e&&!!e.match(Dr)},Ir="enum";var Mr={required:Lr,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Or(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Lr(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Ur[i](t)||n.push(Or(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Or(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const h="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(h?u="number":f?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),f&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(Or(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Or(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Or(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Or(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Ir]=Array.isArray(e[Ir])?e[Ir]:[],-1===e[Ir].indexOf(t)&&n.push(Or(s.messages[Ir],e.fullField,e[Ir].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(Or(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Or(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Kr=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t,i)&&!e.required)return r();Mr.required(e,t,n,o,s,i),Er(t,i)||Mr.type(e,t,n,o,s)}r(o)};var zr={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Er(t,"string")&&!e.required)return r();Mr.required(e,t,n,i,s,"string"),Er(t,"string")||(Mr.type(e,t,n,i,s),Mr.range(e,t,n,i,s),Mr.pattern(e,t,n,i,s),!0===e.whitespace&&Mr.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&Mr.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&(Mr.type(e,t,n,i,s),Mr.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&Mr.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),Er(t)||Mr.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&(Mr.type(e,t,n,i,s),Mr.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&(Mr.type(e,t,n,i,s),Mr.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Mr.required(e,t,n,i,s,"array"),null!=t&&(Mr.type(e,t,n,i,s),Mr.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&Mr.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s),void 0!==t&&Mr.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t,"string")&&!e.required)return r();Mr.required(e,t,n,i,s),Er(t,"string")||Mr.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t,"date")&&!e.required)return r();if(Mr.required(e,t,n,i,s),!Er(t,"date")){let r;r=t instanceof Date?t:new Date(t),Mr.type(e,r,n,i,s),r&&Mr.range(e,r.getTime(),n,i,s)}}r(i)},url:Kr,hex:Kr,email:Kr,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Mr.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Er(t)&&!e.required)return r();Mr.required(e,t,n,i,s)}r(i)}};function Nr(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Hr=Nr();class Vr{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");zr[e]=t};static warning=Cr;static messages=Hr;static validators=zr;rules={};_messages=Hr;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=qr(Nr(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Hr&&(e=Nr()),qr(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Tr(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Vr.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(Br(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(Br(r,n)):s.error&&(u=[s.error(r,Or(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Vr(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=$r(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!zr.hasOwnProperty(e.type))throw new Error(Or("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?zr.required:zr[this.getType(e)]||void 0}}function Wr(e){return new Vr(e)}var Zr={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Wr,validate:function(e,t,r={},n=(()=>{})){return Nt.run(Wr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Yr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const Qr=e=>Oe.toBase64(e);var Gr={encode:Qr,decode:e=>Oe.fromBase64(e),encodeByOss:e=>Qr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Jr={...l,base64:Gr,tea:Qe,uuid:u,guid:(e,t=!1,r="")=>{const n=u(e||32);return t?w.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=l.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const Xr=e=>{if(!e)return"";if(!sr.isObject(e))return"";let t="";return sr.forof(e,((e,r)=>{r&&(t+=`${Kt.kebabCase(e)}:${r};`)})),t},en=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],tn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],rn=(e,t="px")=>e&&t?"0"===e?e:Zr.isFloat(e.toString())?`${e}${t}`:e:e;var nn={stringify:Xr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Sr.parse(e,{sep:";",eq:":",uri:!1}),s={};return sr.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Kt.camelCase(e):e;Zr.isFloat(n)||n.length>=2&&n.startsWith(".")&&Zr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:rn,style:(e,t="px")=>{if(!e)return"";const r=sr.copy(e,{fields:en});sr.forof(r,((e,n)=>{(tn.includes(e)||tn.includes(Kt.camelCase(e)))&&(r[e]=rn(n,t))}));return Xr(r)},commonFields:en};const sn=(e,t="",r=!1)=>{try{if(!e)return;const n=Sr.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${Sr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){on(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},on=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;sn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},an=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},cn=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),ln=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var un={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:sn,download:(e,t="")=>{e&&("string"!=typeof e?on(e,t):sn(e,t))},downloadFile:on,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();sn(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:i="16px Arial",textAlign:o="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?cn("clipboard-write").then((t=>{ln(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(an(e)))):r(an(e))})).catch((()=>{r(an(e))})):r(an(e))})),queryPermission:cn,isAllowed:ln,legacyCopy:an};var hn={ossImage:(e,t={})=>{if(!e)return e;const r=Sr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=or.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=Sr.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Oe.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const fn=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function dn(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function pn(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(sr.isPlainObject(e)){const r=Sr.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class gn{host="";reqConfig={};handleError;interceptors={request:new fr,response:new fr};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(pn),this.interceptors.response.use(e.handleResponse||dn),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){gn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete gn.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=sr.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(gn.blockId,(()=>fn(s))),i=await gn.requestLock[gn.blockId].request;else if(gn.requestLock[gn.blockId]&&gn.requestLock[gn.blockId].lock&&await gn.requestLock[gn.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),gn.requestLock[e]||this.lockR(e,(()=>fn(s))),i=await gn.requestLock[e].request,this.unlockR(e)}else i=await fn(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const yn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},mn=e=>(...t)=>{const r=console[e];yn.overrode?r(...t):wn(r,e,...t)},wn=(e,t,...r)=>{const n=w.format(new Date,yn.format),s=yn.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var bn={override:()=>{if(yn.overrode)return;yn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{wn(t,e,...r)}}))},log:mn("log"),info:mn("info"),warn:mn("warn"),error:mn("error"),config:({tag:e=yn.tag,format:t=yn.format}={})=>{yn.tag=e,yn.format=t}};var _n={getDataURL:e=>{const t={contentType:"",dataUrl:""};return _e.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+Fe.ab2str(e,!0),t))))},getArrayBuffer:async e=>_e.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>_e.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=Te.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async e=>_e.to(fetch(e).then((e=>e.text())))};const vn=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${Gr.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},xn=(e,t,r)=>({key:e,fields:t,storage:r});class An{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=Nt.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=nr.copy(e,{fields:this.fields});this.save(r)}}class Sn extends h{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!ee.isFunction(n))return;const[,s]=await Nt.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=nr.copy(t);else{const[,t]=await Nt.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){ee.isObject(t)&&(t=nr.copy(t)),this[e]=t}}const kn=(e,t)=>{const r=Object.assign(new Sn,e||{});r.__persist=new An(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return ee.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(ee.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class Cn{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Sr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Sr.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Jr.base64.encodeByOss(n),i=Sr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Jr.base64.encodeByOss(e),i=Sr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const $n=(e,t)=>new Cn(e,t);class On{__list=[];constructor(){this.clear()}add(e){const t=Nt.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const En=new class{state=kn(new Sn);frame=new f;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||w.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!w.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=sr.copy(r);sr.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||w.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new On};class jn{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=u(),this.start=Date.now(),this.timeStartDesc=w.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=w.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Pn=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new jn;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=nr.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return or.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}};var Tn={brotliCompress:function(e,r=t.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const n=Fe.toUtf8Bytes(e);return t.brotliCompressSync(n,{params:{[t.constants.BROTLI_PARAM_QUALITY]:r}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const r=Fe.base64ToBytes(e);return t.brotliDecompressSync(r).toString("utf-8")}catch(t){return e||""}}};var Bn={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);s(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const qn=()=>{try{return"win32"===process.platform?Ln():"darwin"===process.platform?Fn():void 0}catch(e){return}},Ln=async()=>{do{let e,t;if([e,t]=await Bn.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const i=s.split(":");if(i.length<=1)break;const o=i[0],a=+(i[1]||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},Fn=async()=>{do{let e,t;if([e,t]=await Bn.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),i=r.find((e=>e.includes("Port"))),o=s?s.split(":")[1]?.trim():null,a=+((i?i.split(":")[1]?.trim():null)||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},Rn=(e,t=["*"],r="DIRECT")=>{const n=e||r||"DIRECT",s=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${n}";\n var _default = "${s}";\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n return _default;\n }\n `;return Fe.toDataUrl(i,"application/x-ns-proxy-autoconfig")},Dn=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let i="";switch(n?n.toUpperCase():""){case"ALL":i=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":i=`PROXY ${e}:${t}`;break;case"SOCKS5":i=`SOCKS5 ${e}:${t}`}if(!i&&!s)return"";const o=[];return i&&o.push(i),s&&o.push("DIRECT"),o.join(";")};var Un={getSystemProxy:qn,toPacScript:Rn,toPacProxy:Dn,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=Dn(e,t,{type:n});if(!o)return"";let a;if(i){const e=await qn();e&&(a=Dn(e?.ipaddress||"",e?.port||0,{direct:!0}))}return Rn(o,s||[],a)}};class In{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Fe.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Fe.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Fe.base64ToBytes(r),s=Fe.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Fe.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Fe.base64ToBytes(r):Fe.getRandomBytes(12),s=Fe.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Fe.concatBytes(new Uint8Array(i),n);return Fe.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Fe.base64ToBytes(e),s=Fe.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Fe.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Fe.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Fe.textDecode(s)}}var Mn={...Tn,...Bn,...Un,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const t=e.createECDH("prime256v1");t.generateKeys(),this.publicKey=t.getPublicKey("base64"),this.privateKey=t.getPrivateKey("base64"),this.__ecdh=t}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(t,r){if(!this.sharedSecret)return"";const n=r||this.iv;if(!n)return"";const s=Fe.base64ToBytes(n),i=e.createCipheriv("aes-256-gcm",Fe.base64ToBytes(this.sharedSecret),s),o=Buffer.concat([new Uint8Array(i.update(t,"utf8")),new Uint8Array(i.final())]),a=i.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(a)]).toString("base64")}encodeiv(t,r){if(!this.sharedSecret)return"";const n=r||this.iv,s=n?Fe.base64ToBytes(n):Fe.getRandomBytes(12),i=e.createCipheriv("aes-256-gcm",Fe.base64ToBytes(this.sharedSecret),s),o=Buffer.concat([new Uint8Array(i.update(t,"utf8")),new Uint8Array(i.final())]),a=i.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(a),s]).toString("base64")}decode(t,r){if(!t||!this.sharedSecret)return"";const n=r||this.iv;if(!n)return"";const s=e.createDecipheriv("aes-256-gcm",Fe.base64ToBytes(this.sharedSecret),Fe.base64ToBytes(n)),i=Fe.base64ToBytes(t),o=i.slice(i.length-16);s.setAuthTag(o);const a=i.slice(0,i.length-16);return Buffer.concat([new Uint8Array(s.update(a)),new Uint8Array(s.final())]).toString("utf-8")}decodeiv(t){if(!t||!this.sharedSecret)return"";const r=Fe.base64ToBytes(t);if(r.length<28)return"";const n=r.slice(r.length-12),s=r.slice(r.length-28,r.length-12),i=e.createDecipheriv("aes-256-gcm",Fe.base64ToBytes(this.sharedSecret),n);i.setAuthTag(s);const o=r.slice(0,r.length-28);return Buffer.concat([new Uint8Array(i.update(o)),new Uint8Array(i.final())]).toString("utf-8")}},EcdhWeb:class extends In{constructor(t="P-256",r="raw"){super(t,r),this.__subtle=e.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;allowedDomains;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;constructor(e,t=["*"],r=!1,n){this.__event=new h,this.upstreamProxy=e,this.allowedDomains=new Set(t),this.__debug=r,this.__uuid=u(),this.__pipeline=new Se(1),this.__logger=n||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}validateProxyConfig(e=this.upstreamProxy){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}async start(e=8838){if(this.validateProxyConfig())return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=r.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${t}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),t):0}setUpstreamProxy(e){return!!e&&(!this.validateProxyConfig(e)&&(this.upstreamProxy=e,!0))}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}setAllowedDomains(e=[]){this.allowedDomains=new Set(e)}async findAvailablePort(e,t=200){let n=e,s=0;for(;s<t;)try{return await new Promise(((e,t)=>{const s=r.createServer();s.unref(),s.on("error",t),s.listen(n,(()=>{s.close((()=>e()))}))})),n}catch{s++,n++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;if(t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] handle connection",t),this.isAllowedDomain(n)){const n=await this.connectToUpstreamProxy(r);this.__logger?.info("[socks5] handle connection upstream",t),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!Sr.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] handle connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] handle connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e){const t={proxy:{...this.upstreamProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await n.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,n)=>{const s=r.createConnection(e.port,e.addr,(()=>{t(s)}));s.on("error",(e=>{n(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}isAllowedDomain(e){if(Sr.isLocalIpAddress(e))return!1;for(const t of this.allowedDomains){if("*"===t)return!0;if(Sr.shExpMatch(e,t))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}},rsa:Me},Kn={Ecdh:In};class zn{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}class Nn{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new zn(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}const Hn={gbk:i,math:Te,list:or,string:Kt,time:w,obj:nr,rule:Zr,regex:Yr,...Fe,...Jr,...sr,Event:h},Vn=sr.singleton,Wn={...Fe,...Jr,...Nt,...Kt,...Te,qs:Sr,singleton:Vn},Zn={mini:gr,css:nn,qs:Sr,icon:vn,html:un},Yn={cdn:hn,watermark:$n},Qn={Store:Sn,storeRef:kn,Persist:An,persistConfig:xn},Gn=En,Jn=Pn,Xn=bn,es={fetch:_n,Http:gn,css:nn,qs:Sr,icon:vn,html:un,rsa:ze,...Kn},ts={...Mn};var rs={gbk:i,time:w,hook:Nt,math:Te,util:sr,list:or,string:Kt,obj:nr,crypto:Jr,mini:gr,qs:Sr,css:nn,cdn:hn,html:un,icon:vn,rule:Zr,regex:Yr,convert:Fe,KValue:zn,Mapping:Nn,Event:h,Http:gn,Store:Sn,storeRef:kn,Persist:An,persistConfig:xn,watermark:$n,joker:En,tracker:Pn,logger:bn,fetch:_n,rsa:ze};export{h as Event,zn as KValue,Nn as Mapping,Yn as dCdn,Wn as dHook,Gn as dJoker,Xn as dLogger,Zn as dMini,ts as dNode,Qn as dStore,Jn as dTracker,Hn as dUtil,es as dWeb,rs as default};
|
|
1
|
+
import e from"crypto";import t from"zlib";import r from"net";import{SocksClient as n}from"socks";import{exec as s}from"child_process";import i from"fs";var o={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const a="0123456789",c="abcdefghijklmnopqrstuvwxyz",l="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var u={keyNumber:a,keyLower:c,keyUpper:l,keyChars:a+c+l};const h=(e=0,t=0)=>{const r=u.keyChars.split(""),n=[];let s;if(t=t||r.length,e)for(s=0;s<e;s++)n[s]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",s=0;s<36;s++)n[s]||(e=0|16*Math.random(),n[s]=r[19==s?3&e|8:e])}return n.join("")};class f{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=h()}clear(){return this.__map.clear(),this}on(e,t,r=""){if(!e||!t)return this;let n=this.__map.get(e);return n||(n=new Set,this.__map.set(e,n)),n.add(t),r&&this.__tagList.push({name:e,listener:t,tag:r}),this}emit(e,...t){if(!e)return this;const r=this.__map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;this.__tagList=this.__tagList.filter((r=>r.name!==e||r.listener!==t));const r=this.__map.get(e);return r?(r.delete(t),r.size<=0&&this.__map.delete(e),this):this}remove(e){return e?(this.__tagList=this.__tagList.filter((t=>t.name!==e)),this.__map.delete(e),this):this}removeByTag(e){if(!e)return this;return this.__tagList.filter((t=>t.tag===e)).forEach((e=>{this.off(e.name,e.listener)})),this.__tagList=this.__tagList.filter((t=>t.tag!==e)),this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this.__map.has(e)}}class d{_loopTimer;_event=new f;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){return this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0),this}stop(){return this._loopTimer?(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1,this):this}restart(){return this.stop(),this.start(),this}on(e){return this._event.on("frame",e),this}off(e){return e?(this._event.off("frame",e),this):this}_handleLoop(){this._event.emit("frame")}}var p={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class g{date;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(e=""){const t={countdown:0,timestamp:0,seconds:0,d:0,dd:"",h:0,hh:"",m:0,mm:"",s:0,ss:"",S:0,SS:"",SSS:"",desc:""};if(!this.timestamp)return t;t.timestamp=this.timestamp,t.countdown=Math.max(t.timestamp-Date.now(),0),t.seconds=Math.floor(t.countdown/p.oneSecond);let r=t.countdown;t.d=Math.floor(r/p.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=p.oneDay,t.h=Math.floor(r/p.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=p.oneHour,t.m=Math.floor(r/p.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=p.oneMinute,t.s=Math.floor(r/p.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=p.oneSecond,t.S=r,t.SS=(t.S<10?"0":"")+t.S,t.SSS=t.S.toString().padStart(3,"0");let n=e;return n||(n=t.countdown>p.oneHour?"hh:mm:ss":t.countdown>p.oneMinute?"mm:ss":"ss"),t.desc=n.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>t[e])),t}add(e=0){return e?(this.timestamp=this.timestamp+e,this.date=new Date(this.timestamp),this.toDate(),this):this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}static get timezoneOffset(){return(new Date).getTimezoneOffset()/60}static getLocalTime(e=0){const t=new Date,r=t.getTime(),n=6e4*t.getTimezoneOffset();return new Date(r+n+36e5*e)}}const y=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?m(r).format(t):""},m=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new g(t||0)};function w({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(y(Date.now(),o)).getTime()}var b={...p,now:function(){return m(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:w,todayZero:()=>w({}),format:y,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return m(r).toCountdown(t)},dtime:m,loopFrame:(e=500)=>new d(e),getTimezoneOffset:()=>g.timezoneOffset,getLocalTime:g.getLocalTime};const _="object"==typeof global&&null!==global&&global.Object===Object&&global,v="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,x="object"==typeof self&&null!==self&&self.Object===Object&&self,A=v||_||x||Function("return this")(),S=A.Symbol,{toString:k,hasOwnProperty:C,propertyIsEnumerable:$}=Object.prototype,O=S?S.toStringTag:void 0;function E(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){const t=C.call(e,O),r=e[O];let n=!1;try{e[O]=void 0,n=!0}catch(e){}const s=k.call(e);return n&&(t?e[O]=r:delete e[O]),s}(e):k.call(e)}var j={getTag:E,getType:function(e){return(E(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:k,hasOwnProperty:C,propertyIsEnumerable:$};const P="object"==typeof exports&&null!==exports&&!exports.nodeType&&exports,T=P&&"object"==typeof module&&null!==module&&!module.nodeType&&module,B=T&&T.exports===P&&_.process,q=(()=>{try{const e=T&&T.require&&T.require("util").types;return e||B&&B.binding&&B.binding("util")}catch(e){}})();var L="[object Function]",F="[object GeneratorFunction]",R="[object AsyncFunction]",I=9007199254740991;const U=/^(?:0|[1-9]\d*)$/,D=A?.Buffer?.isBuffer,M=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,K=q&&q.isTypedArray;function z(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function N(e){return null!=e&&"object"==typeof e}const H=Array.isArray;function V(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=I}(e.length)&&!Z(e)}function W(e){return N(e)&&V(e)}function Z(e){var t=z(e)?j.getTag(e):"";return t===L||t===F||t===R}function Y(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function Q(e){return W(e)&&j.hasOwnProperty.call(e,"callee")&&(!j.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==j.toString.call(e))}const G="undefined"!=typeof window&&void 0!==window.document,J="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,X=K?e=>K(e):e=>N(e)&&M.test(j.getTag(e)),ee="function"==typeof D?D:()=>!1;var te={is:function(e,t){return j.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===j.getTag(e)},isString:function(e){return"string"==typeof e||!H(e)&&N(e)&&"[object String]"==j.getTag(e)},isObject:z,isObjectLike:N,isPlainObject:function(e){if(!N(e)||"[object Object]"!=j.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||N(e)&&"[object Symbol]"===j.getTag(e)},isFunction:Z,isArray:H,isArrayLikeObject:W,isIndex:function(e,t){return!!(t=null==t?I:t)&&("number"==typeof e||U.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:V,isPrototype:Y,isArguments:Q,isPromise:function(e){return"[object Promise]"===(z(e)?j.getTag(e):"")},isBrowser:G,isNode:J,isBlobOrBuffer:e=>e instanceof Blob||e instanceof ArrayBuffer,isUint8Array:e=>e instanceof Uint8Array,isArrayBuffer:e=>e instanceof ArrayBuffer,isEmpty:e=>{if(null==e)return!0;if(V(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||ee(e)||X(e)||Q(e)))return!e.length;const t=j.getTag(e);if("[object Map]"===t||"[object Set]"===t)return!e.size;if(Y(e))return!Object.keys(e).length;for(const t in e)if(j.hasOwnProperty.call(e,t))return!1;return!0}};const re=NaN,ne=/^\s+|\s+$/g,se=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,oe=/^0o[0-7]+$/i,ae=parseInt,ce=1/0,le=17976931348623157e292;function ue(e){if("number"==typeof e)return e;if(te.isSymbol(e))return re;if(te.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=te.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(ne,"");const t=ie.test(e);return t||oe.test(e)?ae(e.slice(2),t?2:8):se.test(e)?re:+e}function he(e){return e?(e=ue(e))===ce||e===-ce?(e<0?-1:1)*le:e==e?e:0:0===e?e:0}var fe={toNumber:ue,toFinite:he,toInteger:function(e){var t=he(e),r=t%1;return t==t?r?t-r:t:0}};const de="Expected a function",pe=Math.max,ge=Math.min;function ye(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError(de);function d(t){const r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r),o}function p(e){const r=e-c;return void 0===c||r>=t||r<0||h&&e-l>=i}function g(){const e=Date.now();if(p(e))return y(e);a=setTimeout(g,function(e){const r=t-(e-c);return h?ge(r,i-(e-l)):r}(e))}function y(e){return a=void 0,f&&n?d(e):(n=s=void 0,o)}function m(...e){const r=Date.now(),i=p(r);if(n=e,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(g,t),u?d(e):o}(c);if(h)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=fe.toNumber(t)||0,te.isObject(r)&&(u=!!r.leading,h="maxWait"in r,i=h?pe(fe.toNumber(r.maxWait)||0,t):i,f="trailing"in r?!!r.trailing:f),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},m.flush=function(){return void 0===a?o:y(Date.now())},m.pending=function(){return void 0!==a},m}class me{__list=[];constructor(e){this.push(e)}push(e){return e&&this.__list.push(e),this}clear(){return this.__list=[],this}_exec(e,t){let r;if(te.isFunction(e))r=e(t);else{if(te.isPromise(e))return e.then((e=>({...t,...e})));r=e}return te.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this.__list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}async function we(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const be=(e,t)=>{try{let r;return r=te.isFunction(e)?e():e,we(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},_e=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e;var ve={to:we,go:(e,t)=>be(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:be,toError:_e,timeout:(e,t=0,r="timeout")=>{if(t<=0)return be(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([_e(r||"timeout"),void 0])),t)}));return Promise.race([be(e,s),i])}};class xe{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var Ae={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}static get I(){return this.Instance}}return e},getset:function(e){const t=new xe;return void 0!==e&&t.set(e),t}};class Se{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ve.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class ke{__list=[];__count=0;__max=1;constructor(e=1){this.__count=0,this.__max=e>0?e:1,this.clear()}push(e,t){const r=new Se(e,t);return this.__list.push(r),this._step(),this}clear(){return this.__list=[],this.__count=0,this}_step(){if(this.__list.length<=0)return;if(this.__count>=this.__max)return;const e=this.__list.shift();e?(this.__count+=1,e?.run().finally((()=>{try{this.__count>0&&(this.__count-=1),this._step()}catch(e){console.error("[ddan] pipepine step finally",e)}}))):this._step()}async whenAll(){for(;;){if(this.__count<=0)break;await ve.delay(100),this._step()}return this.clear()}}class Ce extends(Ae.singleton()){__lockedMap=new Map;pipeline=new ke;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ve.safeRun(t);return this.__lockedMap.set(e,r),r}unlock(e){e&&this.__lockedMap.has(e)&&this.__lockedMap.delete(e)}async exec(e,t){if(!e||!t)return ve.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ve.safeRun(e);const s=await n;return this.unlock(t),s}}var $e={toUtf8:e=>{if(!e)return"";const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},fromUtf8:e=>{let t="",r=0;if(!e)return"";let n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t},toUtf8Bytes:e=>{if(!e)return new Uint8Array;const t=e.replace(/\r\n/g,"\n"),r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r.push(n):n<2048?(r.push(n>>6|192),r.push(63&n|128)):(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128))}return new Uint8Array(r)},fromUtf8Bytes:e=>{let t="",r=0;if(!e||e.length<=0)return"";for(;r<e.length;){let n=e[r];if(n<128)t+=String.fromCharCode(n),r++;else if(n>191&&n<224){const s=e[r+1];t+=String.fromCharCode((31&n)<<6|63&s),r+=2}else{const s=e[r+1],i=e[r+2];t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3}}return t}};const Oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Ee={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=$e.toUtf8(e);l<e.length;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+Oe.charAt(s)+Oe.charAt(i)+Oe.charAt(o)+Oe.charAt(a);return c},fromBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Oe.indexOf(e.charAt(l++)),i=Oe.indexOf(e.charAt(l++)),o=Oe.indexOf(e.charAt(l++)),a=Oe.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c+=String.fromCharCode(t),64!=o&&(c+=String.fromCharCode(r)),64!=a&&(c+=String.fromCharCode(n));return c=$e.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!te.isArrayLike(e)||!te.isUint8Array(e))return"";for(;l<e.length;)t=e[l++],r=e[l++],n=e[l++],s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),c=c+Oe.charAt(s)+Oe.charAt(i)+Oe.charAt(o)+Oe.charAt(a);return c},base64ToBytes:(e="")=>{let t,r,n,s,i,o,a,c=[],l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)s=Oe.indexOf(e.charAt(l++)),i=Oe.indexOf(e.charAt(l++)),o=Oe.indexOf(e.charAt(l++)),a=Oe.indexOf(e.charAt(l++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,c.push(t),64!=o&&c.push(r),64!=a&&c.push(n);return new Uint8Array(c)}};function je(e){return Math.floor(Math.random()*e)}function Pe(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Te=180/Math.PI;var Be={random:je,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=je(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Pe,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Pe(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Te},degree2radian:function(e){return e/Te},calcDataSize:function(e){const t={gb:0,mb:0,kb:0,b:0,total:e,desc:""},r=[{name:"gb",divisor:1<<30},{name:"mb",divisor:1<<20},{name:"kb",divisor:1024},{name:"b",divisor:1}];for(const n of r){const r=Math.floor(e/n.divisor);t[n.name]=r,e-=r*n.divisor}return t.gb>0?t.desc=(t.gb+t.mb/1024).toFixed(2)+"GB":t.mb>0?t.desc=(t.mb+t.kb/1024).toFixed(2)+"MB":t.kb>0?t.desc=(t.kb+t.b/1024).toFixed(2)+"KB":t.desc=t.b+"B",t}};var qe={bytes2str:e=>{if(!e||!te.isArrayLike(e))return"";return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")},str2bytes:(e="")=>{const t=e,r=new Uint8Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=t.charCodeAt(e);return r},str2hex:e=>{let t="";for(let r=0;r<e.length;r++)t+=e.charCodeAt(r).toString(16).padStart(2,"0");return t},hex2str:e=>{let t="";for(let r=0;r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t},concatBytes:(...e)=>{const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r},uint32ToBytes:e=>{const t=new Uint8Array(8);return t[0]=e[0]>>>24&255,t[1]=e[0]>>>16&255,t[2]=e[0]>>>8&255,t[3]=255&e[0],t[4]=e[1]>>>24&255,t[5]=e[1]>>>16&255,t[6]=e[1]>>>8&255,t[7]=255&e[1],t},bytesToUint32:e=>{const t=new Uint32Array(2);return t[0]=e[0]<<24|e[1]<<16|e[2]<<8|e[3],t[1]=e[4]<<24|e[5]<<16|e[6]<<8|e[7],t},hex2bytes:e=>{let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++)t[r]=parseInt(e.substr(2*r,2),16);return t},bytes2hex:e=>Array.from(e).map((e=>e.toString(16).padStart(2,"0"))).join(""),toUint32:e=>{const t=Math.ceil(e.length/4),r=new Uint32Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(4*n)<<24|e.charCodeAt(4*n+1)<<16|e.charCodeAt(4*n+2)<<8|e.charCodeAt(4*n+3);return r},fromUint32:e=>{let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]>>>24&255,e[r]>>>16&255,e[r]>>>8&255,255&e[r]);return t.replace(/\0+$/,"")},flatten:function e(t,r=!1,n=[]){for(let s=0;s<t.length;s+=1){const i=t[s];r&&Array.isArray(i)?e(i,r,n):n.push(i)}return n}};var Le={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return qe.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};const Fe=(e,t=!1)=>{const r=new Uint8Array(e);return t?Ee.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Re={...qe,...Le,...$e,...Ee,str2ab:(e="",t=!1)=>{if(t)return Ee.base64ToBytes(e).buffer;{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}},ab2str:Fe,utf8ToBase64:e=>te.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>te.isBrowser?atob(e):Buffer.from(e,"base64").toString("utf-8"),getRandomBytes:e=>{const t=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=Be.random(256);return t},textEncode:e=>$e.toUtf8Bytes(e),textDecode:e=>$e.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Ee.toBase64(e):te.isArrayBuffer(e)?`data:${t};base64,`+Fe(e,!0):"":""};const Ie=e=>{try{const t=Re.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Ue=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var De={RSAPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS\n4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG\nj4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb\nb9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51\nGaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL\n9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0\nuwIDAQAB",RSAPrivateKey:"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v\nTYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM\n2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/\nm2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a\nrje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB\n5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ\nX7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP\nQYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI\n6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR\nz/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3\nC9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6\nw5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO\nrH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg\nicM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ\n7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+\nGMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI\ntiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe\n5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq\nsk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B\nU9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv\njvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r\n3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d\nIHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ\nEp/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi\ncy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw\nBTSwr0byL3TC0m0StkSNKpo=",generateKeys:async e=>{try{const t=await e.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),r=await window.crypto.subtle.exportKey("spki",t.publicKey),n=Ie(r),s=Ue(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=Ie(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:Ue(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Ue,format_pem_content:Ie,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Re.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),i=[];for(let t=0;t<n.length;t+=190){let r=n.slice(t,t+190),o=await e.encrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(o))}const o=Re.concatBytes(...i);return Re.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Re.base64ToBytes(t),s=await e.importKey("pkcs8",Re.str2ab(r,!0),{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"]),i=[],o=256;for(let t=0;t<n.length;t+=o){let r=n.slice(t,t+o),a=await e.decrypt({name:"RSA-OAEP"},s,r);i.push(new Uint8Array(a))}const a=Re.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const Me=()=>e.webcrypto.subtle;var Ke={generateKeys:()=>De.generateKeys(Me()),encrypt:async(e,t)=>De.encrypt(Me(),e,t),decrypt:async(e,t)=>De.decrypt(Me(),e,t),encode:async e=>De.encrypt(Me(),e,De.RSAPublicKey),decode:async e=>De.decrypt(Me(),e,De.RSAPrivateKey)};const ze="undefined"!=typeof window?window.crypto.subtle:{};var Ne={generateKeys:()=>De.generateKeys(ze),encrypt:async(e,t)=>De.encrypt(ze,e,t),decrypt:async(e,t)=>De.decrypt(ze,e,t),encode:async e=>De.encrypt(ze,e,De.RSAPublicKey),decode:async e=>De.decrypt(ze,e,De.RSAPrivateKey)};const He=2654435769,Ve=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+He>>>0,e[0]=e[0]+((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,e[1]=e[1]+((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0;return e},We=(e,t)=>{let r=3337565984;for(let n=0;n<32;n++)e[1]=e[1]-((e[0]<<4)+t[2]^e[0]+r^(e[0]>>>5)+t[3])>>>0,e[0]=e[0]-((e[1]<<4)+t[0]^e[1]+r^(e[1]>>>5)+t[1])>>>0,r=r-He>>>0;return e},Ze=e=>{const t=Re.str2bytes(e),r=new Uint32Array(4);return r[0]=t[0]<<24|t[1]<<16|t[2]<<8|t[3],r[1]=t[4]<<24|t[5]<<16|t[6]<<8|t[7],r[2]=t[8]<<24|t[9]<<16|t[10]<<8|t[11],r[3]=t[12]<<24|t[13]<<16|t[14]<<8|t[15],r},Ye=(e,t)=>{const r=Re.pkcs7Padding(e,8),n=Ze(t),s=[];for(let e=0;e<r.length;e+=8){const t=Re.bytesToUint32(r.slice(e,e+8)),i=Ve(t,n);s.push(Re.uint32ToBytes(i))}return Re.concatBytes(...s)},Qe=(e,t)=>{const r=Ze(t),n=[];for(let t=0;t<e.length;t+=8){const s=Re.bytesToUint32(e.slice(t,t+8)),i=We(s,r);n.push(Re.uint32ToBytes(i))}const s=Re.concatBytes(...n);return Re.pkcs7Unpadding(s)};var Ge={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:Ve,decrypt:We,toTeaKey:Ze,encode:(e,t)=>{const r=Re.textEncode(e),n=Ye(r,t);return Re.bytesToBase64(n)},decode:(e,t)=>{const r=Re.base64ToBytes(e),n=Qe(r,t);return Re.textDecode(n.buffer)},encodeBytes:Ye,decodeBytes:Qe};function Je(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const Xe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function et(e){return Xe.test(e)}const tt="\\ud800-\\udfff",rt=`[${tt}]`,nt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",st="\\ud83c[\\udffb-\\udfff]",it=`[^${tt}]`,ot="(?:\\ud83c[\\udde6-\\uddff]){2}",at="[\\ud800-\\udbff][\\udc00-\\udfff]",ct=`${`(?:${nt}|${st})`}?`,lt="[\\ufe0e\\ufe0f]?",ut=lt+ct+`(?:\\u200d(?:${[it,ot,at].join("|")})${lt+ct})*`,ht=`(?:${[`${it}${nt}?`,nt,ot,at,rt].join("|")})`,ft=RegExp(`${st}(?=${st})|${ht+ut}`,"g");function dt(e){return et(e)?function(e){return e.match(ft)||[]}(e):function(e){return e.split("")}(e)}function pt(e){return t=>{if(!t)return"";const r=et(t)?dt(t):void 0,n=r?r[0]:t[0],s=r?Je(r,1).join(""):t.slice(1);return n[e]()+s}}const gt="\\ud800-\\udfff",yt="\\u2700-\\u27bf",mt="a-z\\xdf-\\xf6\\xf8-\\xff",wt="A-Z\\xc0-\\xd6\\xd8-\\xde",bt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",_t="['’]",vt=`[${bt}]`,xt=`[${yt}]`,At=`[${mt}]`,St=`[^${gt}${bt+"\\d"+yt+mt+wt}]`,kt="(?:\\ud83c[\\udde6-\\uddff]){2}",Ct="[\\ud800-\\udbff][\\udc00-\\udfff]",$t=`[${wt}]`,Ot=`(?:${At}|${St})`,Et=`(?:${$t}|${St})`,jt=`(?:${_t}(?:d|ll|m|re|s|t|ve))?`,Pt=`(?:${_t}(?:D|LL|M|RE|S|T|VE))?`,Tt="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Bt="[\\ufe0e\\ufe0f]?",qt=Bt+Tt+`(?:\\u200d(?:${[`[^${gt}]`,kt,Ct].join("|")})${Bt+Tt})*`,Lt=`(?:${[xt,kt,Ct].join("|")})${qt}`,Ft=RegExp([`${$t}?${At}+${jt}(?=${[vt,$t,"$"].join("|")})`,`${Et}+${Pt}(?=${[vt,$t+Ot,"$"].join("|")})`,`${$t}?${Ot}+${jt}`,`${$t}+${Pt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Lt].join("|"),"g");const Rt=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),It=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ut(e,t){if(void 0===t){const t=Rt(e)?function(e){return e.match(Ft)}(e):function(e){return e.match(It)}(e);return t||[]}return e.match(t)||[]}function Dt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Dt(e)))}`;if(te.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Mt=pt("toUpperCase"),Kt=pt("toLowerCase");var zt={toString:Dt,startCase:e=>Ut(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Mt(t)),""),snakeCase:e=>Ut(Dt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ut(Dt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ut(Dt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Mt(t):t))),""),upperCase:e=>Ut(Dt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Mt,lowerCase:e=>Ut(Dt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Kt,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r},jsonFormat:e=>{try{if(!e)return"";const t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return e}}};var Nt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":Ge.encode(t,Re.hex2str(Ge.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=Ge.decode(e,Re.hex2str(Ge.TEAKey));return zt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return te.isBrowser?await Ne.encode(t):await Ke.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=te.isBrowser?await Ne.decode(e):await Ke.decode(e);return zt.jsonFormat(t)}catch(e){return""}}};var Ht={...ve,...Nt,sleep:ve.delay,run:async function(e,t=0){if(t<=0)return ve.safeRun(e);const r=t>0?Date.now():0,n=await ve.safeRun(e),s=Date.now()-r;return s<t&&await ve.delay(t-s),n},exec:(e,t="")=>Ce.I.exec(e,t),debounce:ye,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return te.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ye(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new me(e),mutex:function(e){var t=null;return async function(...r){if((t=this||t||{}).__ddMutex)return!1;t.__ddMutex=!0;try{e&&await Promise.resolve(e.apply(this,r))}catch(e){console.log(e)}finally{t.__ddMutex=!1}}},polling:async function(e={}){const{func:t,interval:r=100,times:n=1e3}=e;let s=n;const i=r<1?100:r;do{if(!t)break;const[e,r]=await ve.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ve.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>Ce.I.pipeline.push(e,t),pipeline:(e=1)=>new ke(e),safeTask:(e,t)=>new Se(e,t)};function Vt(e){return e!=e}function Wt(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var Zt,Yt,Qt=(Zt=Object.keys,Yt=Object,function(e){return Zt(Yt(e))}),Gt=Math.max;function Jt(e,t){var r=te.isArray(e)||te.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!j.hasOwnProperty.call(e,i)||s&&("length"==i||te.isIndex(i,n))||r.push(i);return r}const Xt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=Xt(e[r]));return t};const er=(e,t,r={})=>{const n=e||{},{ignoreUndefined:s=!0,cover:i=!1}=r;if(!t)return n;for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o];"object"!=typeof a||"object"!=typeof e[o]||i?s&&void 0===a||r.ignoreNull&&null===a||r.ignoreZero&&0===a||r.ignoreEmptyArray&&Array.isArray(a)&&a.length<=0||r.ignoreEmptyString&&"string"==typeof a&&""===a.trim()||(n[o]=a):n[o]=tr(e[o],a,r)}return n},tr=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?er(e,t,r):er({...e},t,r),n},rr=(e,t,r={})=>er({...e},t,{cover:!0,...r}),nr=(e,t,r,n,s=!1)=>{if(!e||!t||!r)return;let i=e[t];null!==i&&"object"==typeof i&&s&&Object.keys(i).forEach((e=>{nr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&nr(e,t,r,n,s)},get:()=>i})};var sr={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const a=s?i&&e.startsWith("_")?e:zt.camelCase(e):e;if(n.length>0&&!n.includes(e)&&!n.includes(a))continue;const c=r[e];t.ignoreNull&&null===c||(t.ignoreZero&&0===c||t.ignoreEmptyArray&&Array.isArray(c)&&c.length<=0||t.ignoreEmptyString&&"string"==typeof c&&""===c.trim()||(o[a]=c))}return o},clone:Xt,merge:tr,isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=zt.parseValue(n,{number:t,boolean:r});else e[n]=zt.parseValue(s,{number:t,boolean:r});return e},cloneClass:function(e){return e?"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)):e},combine:rr,combines:(e,t={})=>{let r={};if(!e||e.length<=0)return r;const{ignoreUndefined:n=!0,ignoreNull:s=!0,ignoreZero:i=!0,ignoreEmptyArray:o=!0,ignoreEmptyString:a=!0,cover:c=!0}=t;return e.forEach((e=>r=rr(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:nr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};var ir={...te,...j,...sr,...Ae,includes:function(e,t,r,n){e=te.isArrayLike(e)?e:function(e){return e?Wt(e,function(e){return te.isArrayLike(e)?Jt(e):function(e){if(!te.isPrototype(e))return Qt(e);var t=[];for(var r in Object(e))j.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?fe.toInteger(r):0;var s=e.length;return r<0&&(r=Gt(s+r,0)),te.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,Vt,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},forof:(e,t)=>{if(!e)return;let r;if(te.isObject(e)&&(r=te.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var or={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var ar={...or,stepAction:function(e,t,r=100){if(!te.isFunction(t))return;if(!te.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:function(e,t){if(!te.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!te.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:function(e){return!te.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Be.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!te.isObject(e))return;const s=e[t];(te.isString(s)&&""!==s||te.isNumber(s))&&(n[s]=e[r])})),n):n}};const cr="[object Object]",lr="[object Array]",ur=e=>Object.prototype.toString.call(e),hr=(e,t,r=!1)=>{if(e===t)return;const n=ur(e);if(n===ur(t))if(n===lr&&e.length>=t.length)for(let r=0;r<t.length;r++)hr(e[r],t[r]);else if(n===cr&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?hr(e[n],t[n]):e[n]=null},fr=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=ur(e),o=ur(t);if(i===lr&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)fr(e[s],t[s],r,`${n}[${s}]`);else if(i===cr&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=ur(s),c=ur(o);if(s!==o)if(a===lr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)fr(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===cr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)fr(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class dr{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class pr{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new dr,response:new dr};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){pr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete pr.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=sr.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(pr.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await pr.requestLock[pr.blockId].request;else if(pr.requestLock[pr.blockId]&&pr.requestLock[pr.blockId].lock&&await pr.requestLock[pr.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),pr.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await pr.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const gr=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var yr={diff:function(e,t){const r={};return(e=>{if(ur(e)===cr)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];ur(n[t])!==cr&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),hr(e,t,!0),fr(e,t,r,"",!0),r},promixify:gr,run:(e,t={})=>e?Ht.run(gr(e)(t)):Ht.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:pr,setWatcher:e=>{let t=e.data,r=e.watch;Object.keys(r).forEach((n=>{let s=t,i=n.split(".");for(let e=0;e<i.length-1;e++)s=s[i[e]];let o=i[i.length-1],a=r[n].handler||r[n],c=r[n].deep;sr.observe(s,o,a,e,c)}))}};const mr=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const c={};if("string"!=typeof e||0===e.length)return c;const l=/\+/g,u=n||1e3;let h=(e=e.split(t)).length;u>0&&h>u&&(h=u);for(let t=0;t<h;++t){let n,o,a,u,h=e[t].replace(l,"%20"),f=h.indexOf(r);f>=0?(n=h.substr(0,f),o=h.substr(f+1)):(n=h,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,j.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return sr.parseValue(c,{number:o,boolean:a}),c},wr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},br=function(e,t=!0){return t?encodeURIComponent(e):e},_r=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},vr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,xr=e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/),n=r?r[1]:"",s=t.lastIndexOf("/")+1,i=t.substring(s),o=i.lastIndexOf("."),a=i.substring(0,o)||"",c=o>=0?i.substring(o):"";return{route:t.substring(0,s)||"",page:n,name:i,withoutExtension:a,extname:c}},Ar=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(vr);if(!r||r.length<4)return t;const n=r[3]||"",s=e.split("?");return t.url=s[0],t.origin=r[0],t.protocol=`${r[1]}:`,t.host=`${r[2]}${n?":"+n:""}`,t.port=n,t.query=s.length>1?s[1]:"",t},Sr=(e,t)=>{if(e===t)return!0;if(!e)return!1;if(!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var kr={parse:mr,stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0,cleanZero:i=!1,cleanNull:o=!1,cleanWhitespace:a=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const c=br(wr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+br(wr(e),s)})).join(t):_r(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+br(wr(l),s)})).filter(Boolean).join(t):n?br(wr(n),s)+r+br(wr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Ar(e),{origin:r="",url:n="",query:s=""}=t,i=xr(n),o=mr(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:xr,parseHost:Ar,join:(...e)=>{let t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length<=0||(/^(\w+):\/\//.test(r)?t=[r]:t.push(r))})),t.join("/")},shExpMatch:Sr,isLocalIpAddress:e=>!!e&&!!(Sr(e,"127.0.0.1")||Sr(e,"localhost")||Sr(e,"192.168.*.*"))};const Cr=/%[sdj%]/g;let $r=()=>{};function Or(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function Er(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(Cr,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function jr(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function Pr(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&($r=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class Tr extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Br(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);Pr(o,r,(e=>(n(e),e.length?i(new Tr(e,Or(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let c=0;const l=[],u=new Promise(((t,u)=>{const h=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new Tr(l,Or(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Pr(n,r,h):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,h)}))}));return u.catch((e=>e)),u}function qr(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Lr(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const Fr=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!jr(t,i||e.type)||n.push(Er(s.messages.required,e.fullField))};let Rr;const Ir=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Ur=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Dr={integer:e=>Dr.number(e)&&parseInt(e,10)===e,float:e=>Dr.number(e)&&!Dr.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Dr.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ir),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Rr)return Rr;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),c=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");c.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),c.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const l=c.v4().source,u=c.v6().source;return Rr=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${u}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),Rr})()),hex:e=>"string"==typeof e&&!!e.match(Ur)},Mr="enum";var Kr={required:Fr,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Er(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Fr(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Dr[i](t)||n.push(Er(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Er(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,u="";const h="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(h?u="number":f?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),f&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(Er(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Er(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Er(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Er(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Mr]=Array.isArray(e[Mr])?e[Mr]:[],-1===e[Mr].indexOf(t)&&n.push(Er(s.messages[Mr],e.fullField,e[Mr].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(Er(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Er(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const zr=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t,i)&&!e.required)return r();Kr.required(e,t,n,o,s,i),jr(t,i)||Kr.type(e,t,n,o,s)}r(o)};var Nr={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(jr(t,"string")&&!e.required)return r();Kr.required(e,t,n,i,s,"string"),jr(t,"string")||(Kr.type(e,t,n,i,s),Kr.range(e,t,n,i,s),Kr.pattern(e,t,n,i,s),!0===e.whitespace&&Kr.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&Kr.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&(Kr.type(e,t,n,i,s),Kr.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&Kr.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),jr(t)||Kr.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&(Kr.type(e,t,n,i,s),Kr.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&(Kr.type(e,t,n,i,s),Kr.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Kr.required(e,t,n,i,s,"array"),null!=t&&(Kr.type(e,t,n,i,s),Kr.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&Kr.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s),void 0!==t&&Kr.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t,"string")&&!e.required)return r();Kr.required(e,t,n,i,s),jr(t,"string")||Kr.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t,"date")&&!e.required)return r();if(Kr.required(e,t,n,i,s),!jr(t,"date")){let r;r=t instanceof Date?t:new Date(t),Kr.type(e,r,n,i,s),r&&Kr.range(e,r.getTime(),n,i,s)}}r(i)},url:zr,hex:zr,email:zr,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Kr.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(jr(t)&&!e.required)return r();Kr.required(e,t,n,i,s)}r(i)}};function Hr(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Vr=Hr();class Wr{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Nr[e]=t};static warning=$r;static messages=Vr;static validators=Nr;rules={};_messages=Vr;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=Lr(Hr(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Vr&&(e=Hr()),Lr(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return Br(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function c(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(i=[]){let l=Array.isArray(i)?i:[i];!0===s.suppressWarning&&l.length&&Wr.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(qr(r,n));if(s.first&&u.length)return a[r.field]=1,t(u);if(o){if(r.required&&!e.value)return void 0!==r.message?u=[].concat(r.message).map(qr(r,n)):s.error&&(u=[s.error(r,Er(s.messages.required,r.field))]),t(u);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(c.bind(null,e))}));const a=new Wr(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];u&&u.length&&r.push(...u),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(u)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,l,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,l,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===i?l():!1===i?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?l(i):i instanceof Error&&l(i.message)}i&&i.then&&i.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=Or(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Nr.hasOwnProperty(e.type))throw new Error(Er("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Nr.required:Nr[this.getType(e)]||void 0}}function Zr(e){return new Wr(e)}var Yr={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Zr,validate:function(e,t,r={},n=(()=>{})){return Ht.run(Zr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Qr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const Gr=e=>Ee.toBase64(e);var Jr={encode:Gr,decode:e=>Ee.fromBase64(e),encodeByOss:e=>Gr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Xr={...u,base64:Jr,tea:Ge,uuid:h,guid:(e,t=!1,r="")=>{const n=h(e||32);return t?b.now().format("yyyyMMddhhmmss")+r+n:n},getHexString:e=>{const t=u.keyChars;let r="";const n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r}};const en=e=>{if(!e)return"";if(!ir.isObject(e))return"";let t="";return ir.forof(e,((e,r)=>{r&&(t+=`${zt.kebabCase(e)}:${r};`)})),t},tn=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink","pointerEvents"],rn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],nn=(e,t="px")=>e&&t?"0"===e?e:Yr.isFloat(e.toString())?`${e}${t}`:e:e;var sn={stringify:en,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=kr.parse(e,{sep:";",eq:":",uri:!1}),s={};return ir.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:zt.camelCase(e):e;Yr.isFloat(n)||n.length>=2&&n.startsWith(".")&&Yr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:nn,style:(e,t="px")=>{if(!e)return"";const r=ir.copy(e,{fields:tn});ir.forof(r,((e,n)=>{(rn.includes(e)||rn.includes(zt.camelCase(e)))&&(r[e]=nn(n,t))}));return en(r)},commonFields:tn};const on=(e,t="",r=!1)=>{try{if(!e)return;const n=kr.parseUrl(e),s=t||n.name;if(!t||!r||!n.origin||n.origin===window.location.origin)((e,t)=>{try{const r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}catch(t){console.error(`[ddan] _downloadUrl ${e}`,t)}})(e,s);else{const t=n.params;t.t=Date.now();const r=`${n.url}?${kr.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){an(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},an=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;on(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},cn=e=>{try{const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.style.opacity="0",t.value=e??"",t.select();const r=document.execCommand("copy");return document.body.removeChild(t),r}catch(e){return console.error("[ddan] copyText",e),!1}},ln=(e,t="denied")=>new Promise((r=>{const n=navigator?.permissions;if(!n||!n.query)return r(t);const s={name:e};n.query(s).then((e=>r(e.state))).catch((()=>r(t)))})),un=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var hn={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadUrl:on,download:(e,t="")=>{e&&("string"!=typeof e?an(e,t):on(e,t))},downloadFile:an,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();on(s,t)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.error("[ddan] downloadImage",e)}return Promise.resolve()},watermark:(e,{width:t=400,height:r=300,angle:n=0,fillStyle:s="rgba(0, 0, 0, 0.2)",font:i="16px Arial",textAlign:o="left",textBaseline:a="middle"}={})=>{try{if(!e)return"";const c=document.createElement("canvas");c.width=t,c.height=r;const l=c.getContext("2d");return l?(n&&l.rotate(n*Math.PI/180),s&&(l.fillStyle=s),i&&(l.font=i),o&&(l.textAlign=o),a&&(l.textBaseline=a),l.fillText(e,c.width/10,c.height/2),`url(${c.toDataURL()})`):""}catch(e){return console.error("[ddan] watermark",e),""}},copyText:(e,t=!1)=>new Promise((r=>{!t&&navigator.clipboard?ln("clipboard-write").then((t=>{un(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(cn(e)))):r(cn(e))})).catch((()=>{r(cn(e))})):r(cn(e))})),queryPermission:ln,isAllowed:un,legacyCopy:cn};var fn={ossImage:(e,t={})=>{if(!e)return e;const r=kr.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=ar.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=kr.parseUrl(e).url,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`},ossBase64:e=>Ee.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const dn=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function pn(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function gn(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(ir.isPlainObject(e)){const r=kr.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class yn{host="";reqConfig={};handleError;interceptors={request:new dr,response:new dr};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(gn),this.interceptors.response.use(e.handleResponse||pn),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){yn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete yn.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=ir.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(yn.blockId,(()=>dn(s))),i=await yn.requestLock[yn.blockId].request;else if(yn.requestLock[yn.blockId]&&yn.requestLock[yn.blockId].lock&&await yn.requestLock[yn.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),yn.requestLock[e]||this.lockR(e,(()=>dn(s))),i=await yn.requestLock[e].request,this.unlockR(e)}else i=await dn(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const mn={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},wn=e=>(...t)=>{const r=console[e];mn.overrode?r(...t):bn(r,e,...t)},bn=(e,t,...r)=>{const n=b.format(new Date,mn.format),s=mn.tag?`[${t}]`:"";s&&n?e.apply(console,[`${n} ${s}`,...r]):n?e.apply(console,[`${n}`,...r]):s?e.apply(console,[`${s}`,...r]):e.apply(console,[...r])};var _n={override:()=>{if(mn.overrode)return;mn.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{bn(t,e,...r)}}))},log:wn("log"),info:wn("info"),warn:wn("warn"),error:wn("error"),config:({tag:e=mn.tag,format:t=mn.format}={})=>{mn.tag=e,mn.format=t}};var vn={getDataURL:e=>{const t={contentType:"",dataUrl:""};return ve.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+Re.ab2str(e,!0),t))))},getArrayBuffer:async e=>ve.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>ve.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=Be.float(100*i/n,{digits:2});t?.progress&&t?.progress(a,i,n)}const a=new Uint8Array(i);let c=0;for(const e of o)a.set(e,c),c+=e.length;t?.success&&t?.success(a),r(a)})).catch((e=>{t?.fail&&t?.fail(e),r(void 0)})))),getText:async e=>ve.to(fetch(e).then((e=>e.text())))};const xn=new class{__defStyle="vertical-align: middle; mask-position: 50% 50%; mask-repeat: no-repeat; mask-size: 100%; -webkit-mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; background-color: currentColor;";__map={back:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M609.408 149.376L277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"/></svg>',right:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"/></svg>',home:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 19.8h3.8v-7h3.303L12 4.697 3.897 12.8H7.2v7H11V17h2v2.8zm5 .2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6H3.414a1 1 0 0 1-.707-1.707l8.586-8.586a1 1 0 0 1 1.414 0l8.586 8.586A1 1 0 0 1 20.586 14H18v6z" fill-rule="evenodd" fill-opacity=".9"/></svg>',close:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M764.288 214.592L512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"/></svg>',close_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M466.752 512l-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',close_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"/></svg>',warning:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M928.99 755.83L574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z" fill="currentColor"/></svg>',play:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zm3.008-92.992a416 416 0 1 0 0-832 416 416 0 0 0 0 832zM383.232 287.616l384 224.896-384 223.104v-448z" fill="currentColor"/></svg>',lock:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"/><path fill="currentColor" d="M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"/></svg>',lock_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="M467.2 713.92v115.968a44.8 44.8 0 0 0 89.6 0V713.92c26.752-14.72 44.8-42.304 44.8-73.92 0-47.104-40.128-85.312-89.6-85.312-49.472 0-89.6 38.208-89.6 85.312 0 31.616 18.048 59.136 44.8 73.92zM64 384h896v640H64V384zm268.8 0h358.4V256c0-94.272-80.256-170.688-179.2-170.688-98.944 0-179.2 76.416-179.2 170.688v128zM512 0c148.48 0 268.8 114.56 268.8 256v128H243.2V256C243.2 114.56 363.52 0 512 0z" fill="currentColor"/></svg>',plus:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"/></svg>',plus_circle:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"/><path fill="currentColor" d="M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"/><path fill="currentColor" d="M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"/></svg>',plus_circle_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"/></svg>',star:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 747.84l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"/></svg>',star_fill:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M283.84 867.84L512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"/></svg>',share:'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M679.872 348.8l-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"/></svg>',love:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M171.712 571.648l.352.32 287.904 252.8a64 64 0 0 0 82.912 1.344l296.832-244.544a215.584 215.584 0 1 0-301.824-300.576L512 316.672l-25.888-35.616a215.584 215.584 0 1 0-314.4 290.624zM32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512l-295.36 243.392a128 128 0 0 1-165.888-2.592L129.984 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>',love_fill:'<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M32 407.584A279.584 279.584 0 0 1 512 212.64a279.584 279.584 0 0 1 480 194.944 278.144 278.144 0 0 1-113.024 224.512L562.592 892.8a96 96 0 0 1-124.416-1.952L130.016 620.16A278.976 278.976 0 0 1 32 407.584z"/></svg>'};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this.__map[e];if(!t)return;return{url:this.toBase64(t),escape:this.toEscape(t)}};toBase64=e=>{if(!e)return"";const t=this._tiny(e);return`data:image/svg+xml;base64,${Jr.encode(t)}`};_tiny=e=>e?e.replace(/<!--(.*)-->/g,"").replace(/[\r\n]/g," ").replace(/"/g,"'"):"";toEscape=e=>{if(!e)return"";return`data:image/svg+xml,${this._tiny(e).replace(/%/g,"%25").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(/</g,"%3C").replace(/>/g,"%3E")}`};getStyle(e,t={}){if(!e)return"";const r=this.__map[e];return r?this.toStyle(r,t):""}toStyle(e,t={}){if(!e)return"";const r=this.toBase64(e);return r?this.getStyleByUrl(r,t):""}getStyleByUrl(e,t={}){if(!e)return"";const{key:r="mask-image",gradientValue:n="radial-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))",gradient:s=!1,defStyle:i=this.__defStyle}=t,o=s&&n?`${n}, url("${e}")`:`url("${e}")`;return`${r}:${o};-webkit-${r}:${o};${i}`}},An=(e,t,r)=>({key:e,fields:t,storage:r});class Sn{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=Ht.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=sr.copy(e,{fields:this.fields});this.save(r)}}class kn extends f{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!te.isFunction(n))return;const[,s]=await Ht.run(n({...r,commit:r.commit.bind(r),query:r.query.bind(r),dispatch:r.dispatch.bind(r)},t));return s}async query(e){const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=sr.copy(t);else{const[,t]=await Ht.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){te.isObject(t)&&(t=sr.copy(t)),this[e]=t}}const Cn=(e,t)=>{const r=Object.assign(new kn,e||{});r.__persist=new Sn(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return te.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(te.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class $n{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=kr.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=kr.stringify(s,{uri:!1});this.list.push(`${e}?${i}`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Xr.base64.encodeByOss(n),i=kr.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Xr.base64.encodeByOss(e),i=kr.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const On=(e,t)=>new $n(e,t);class En{__list=[];constructor(){this.clear()}add(e){const t=Ht.run(e);return this.__list.push(t),this}clear(){return this.__list=[],this}wait(){const e=this.__list;return this.clear(),Promise.allSettled(e)}}const jn=new class{state=Cn(new kn);frame=new d;cache=new Map;cacheTime=new Map;setCache=(e,t)=>null!=t&&(!!e&&(this.cache.set(e,t),this.cacheTime.set(e,Date.now()),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};getCacheTime=e=>e&&this.cacheTime.get(e)||0;removeCache=e=>{e&&(this.cache.delete(e),this.cacheTime.delete(e))};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],c={time:o,count:1,cycle:n};return a&&("day"!==n||b.isToday(a.time||0))&&(c.count=1+(a.count||0)),i[e]=c,this.setCache(s,i),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const c=a[e];if(!c)return!0;if("day"===i&&!b.isToday(c.time||0))return!0;if(r<=(c.count||0))return!1;return!(Date.now()-(c.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=ir.copy(r);ir.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||b.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new En};class Pn{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=h(),this.start=Date.now(),this.timeStartDesc=b.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.end:this.start}get timeDesc(){return this.flag?this.timeEndDesc:this.timeStartDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=b.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Tn=new class{__map=new Map;__trackList=[];opened=!0;clear(){return this.__map.clear(),this.__trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.opened)return"";const n=new Pn;return n.name=e,n.type=r,n.desc=t,this.__trackList.push(n),n.id}done(e){if(!e||!this.opened)return;const t=this.__trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=sr.cloneClass(t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this.__trackList.push(r)}getTrack(e){return this.__trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this.__trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this.__trackList.findIndex((e=>e.id===r)),s=n<0?this.__trackList.length-t:n-t+1;return ar.take(this.__trackList,s,t)}getList(e,t=""){if(!e)return[];const r=this.__trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this.__trackList.filter((e=>e.id===t||e.id===n))}get list(){return this.__trackList}get size(){return this.__trackList.length}_endId=e=>`${e}-end`;report(e){const t=this.list;if(!t||t.length<=0)return;const r=t[0].time;t.forEach((t=>e&&e(t,r)))}};var Bn={brotliCompress:function(e,r=t.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const n=Re.toUtf8Bytes(e);return t.brotliCompressSync(n,{params:{[t.constants.BROTLI_PARAM_QUALITY]:r}}).toString("base64")}catch(t){return e||""}},brotliDecompress:function(e){try{if(!e)return"";const r=Re.base64ToBytes(e);return t.brotliDecompressSync(r).toString("utf-8")}catch(t){return e||""}}};var qn={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);s(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const Ln=()=>{try{return"win32"===process.platform?Fn():"darwin"===process.platform?Rn():void 0}catch(e){return}},Fn=async()=>{do{let e,t;if([e,t]=await qn.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"'),e)break;const r=t.split("\n").find((e=>e.includes("ProxyEnable")));if(!(r&&r.trim().endsWith("1")))break;const n=t.split("\n").find((e=>e.includes("ProxyServer"))),s=n?n.split(" ").filter(Boolean).pop():"";if(!s)break;const i=s.split(":");if(i.length<=1)break;const o=i[0],a=+(i[1]||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},Rn=async()=>{do{let e,t;if([e,t]=await qn.child_exec('networksetup -getwebproxy "Wi-Fi"'),e)break;const r=t.split("\n"),n=r.find((e=>e.includes("Enabled")));if(!(n&&n.includes("Yes")))break;const s=r.find((e=>e.includes("Server"))),i=r.find((e=>e.includes("Port"))),o=s?s.split(":")[1]?.trim():null,a=+((i?i.split(":")[1]?.trim():null)||"");if(!o||!a)break;return{ipaddress:o,port:a}}while(0)},In=(e,t=["*"],r="DIRECT")=>{const n=e||r||"DIRECT",s=r||"DIRECT",i=`\n function FindProxyForURL(url, host) {\n if (host === "127.0.0.1" || host === "localhost") {\n return "DIRECT";\n }\n\n if (isInNet(host, "10.0.0.0", "255.0.0.0") ||\n isInNet(host, "172.16.0.0", "255.240.0.0") ||\n isInNet(host, "192.168.0.0", "255.255.0.0")) {\n return "DIRECT";\n }\n\n var _rules = ${JSON.stringify(t)};\n var _proxy = "${n}";\n var _default = "${s}";\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n return _default;\n }\n `;return Re.toDataUrl(i,"application/x-ns-proxy-autoconfig")},Un=(e,t,r)=>{if(!e||!t)return"";const{type:n="ALL",direct:s=!1}=r||{};let i="";switch(n?n.toUpperCase():""){case"ALL":i=`SOCKS5 ${e}:${t};PROXY ${e}:${t}`;break;case"PROXY":i=`PROXY ${e}:${t}`;break;case"SOCKS5":i=`SOCKS5 ${e}:${t}`}if(!i&&!s)return"";const o=[];return i&&o.push(i),s&&o.push("DIRECT"),o.join(";")};var Dn={getSystemProxy:Ln,toPacScript:In,toPacProxy:Un,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=Un(e,t,{type:n});if(!o)return"";let a;if(i){const e=await Ln();e&&(a=Un(e?.ipaddress||"",e?.port||0,{direct:!0}))}return In(o,s||[],a)}};class Mn{publicKey="";privateKey="";iv="";__privateCryptoKey;__sharedSecret;__curve;__keyFormat;__subtle;constructor(e="P-256",t="raw"){this.__curve=e,this.__keyFormat=t||"raw","undefined"!=typeof window?this.__subtle=window.crypto.subtle:this.__subtle={}}async generateKeys(){const e=await this.__subtle.generateKey({name:"ECDH",namedCurve:this.__curve},!0,["deriveKey","deriveBits"]);return this.__privateCryptoKey=e.privateKey,this.publicKey=await this.exportKey(e.publicKey),this.privateKey=await this.exportKey(e.privateKey,"pkcs8"),this}async exportKey(e,t="raw"){const r=await this.__subtle.exportKey(t||this.__keyFormat,e);return Re.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Re.base64ToBytes(e);return await this.__subtle.importKey(t||this.__keyFormat||"raw",n,{name:"ECDH",namedCurve:this.__curve},!0,r)}async setPrivateKey(e){if(!e)return!1;const t=await this.importKey(e,"pkcs8",["deriveKey","deriveBits"]);return this.privateKey=await this.exportKey(t,"pkcs8"),this.__privateCryptoKey=t,!0}async deriveSharedSecret(e,t){if(!this.__privateCryptoKey)return!1;const r=await this.importKey(e),n=await this.__subtle.deriveKey({name:"ECDH",public:r},this.__privateCryptoKey,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return this.__sharedSecret=n,this.iv=t||"",!0}async encode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Re.base64ToBytes(r),s=Re.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Re.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Re.base64ToBytes(r):Re.getRandomBytes(12),s=Re.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Re.concatBytes(new Uint8Array(i),n);return Re.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Re.base64ToBytes(e),s=Re.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Re.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Re.base64ToBytes(e);if(t.length<12)return"";const r=t.slice(t.length-12),n=t.slice(0,t.length-12),s=await this.__subtle.decrypt({name:"AES-GCM",iv:r},this.__sharedSecret,n);return Re.textDecode(s)}}const Kn=(e,t)=>new Promise(((r,n)=>{i.readdir(e,(async(s,i)=>{if(s)return n(s);r(zn(e,i,t))}))})),zn=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;i.lstatSync(t).isDirectory()?await Kn(`${t}`,r):r&&await r(t)}};var Nn={...{readDirectory:Kn,readFiles:zn},...Bn,...qn,...Dn,Ecdh:class{publicKey="";privateKey="";sharedSecret;iv="";__curve;__algorithm;__ecdh;constructor(e="prime256v1",t="aes-256-gcm"){this.__curve=e,this.__algorithm=t,this.generateKeys()}generateKeys(){const t=e.createECDH("prime256v1");t.generateKeys(),this.publicKey=t.getPublicKey("base64"),this.privateKey=t.getPrivateKey("base64"),this.__ecdh=t}setPrivateKey(e){return!!e&&(!!this.__ecdh&&(this.__ecdh.setPrivateKey(e,"base64"),this.publicKey=this.__ecdh.getPublicKey("base64"),!0))}setSharedSecret(e){return!!e&&(this.sharedSecret=e,!0)}deriveSharedSecret(e,t){return!!e&&(this.sharedSecret=this.__ecdh.computeSecret(e,"base64").toString("base64"),this.iv=t||"",!0)}encode(t,r){if(!this.sharedSecret)return"";const n=r||this.iv;if(!n)return"";const s=Re.base64ToBytes(n),i=e.createCipheriv("aes-256-gcm",Re.base64ToBytes(this.sharedSecret),s),o=Buffer.concat([new Uint8Array(i.update(t,"utf8")),new Uint8Array(i.final())]),a=i.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(a)]).toString("base64")}encodeiv(t,r){if(!this.sharedSecret)return"";const n=r||this.iv,s=n?Re.base64ToBytes(n):Re.getRandomBytes(12),i=e.createCipheriv("aes-256-gcm",Re.base64ToBytes(this.sharedSecret),s),o=Buffer.concat([new Uint8Array(i.update(t,"utf8")),new Uint8Array(i.final())]),a=i.getAuthTag();return Buffer.concat([new Uint8Array(o),new Uint8Array(a),s]).toString("base64")}decode(t,r){if(!t||!this.sharedSecret)return"";const n=r||this.iv;if(!n)return"";const s=e.createDecipheriv("aes-256-gcm",Re.base64ToBytes(this.sharedSecret),Re.base64ToBytes(n)),i=Re.base64ToBytes(t),o=i.slice(i.length-16);s.setAuthTag(o);const a=i.slice(0,i.length-16);return Buffer.concat([new Uint8Array(s.update(a)),new Uint8Array(s.final())]).toString("utf-8")}decodeiv(t){if(!t||!this.sharedSecret)return"";const r=Re.base64ToBytes(t);if(r.length<28)return"";const n=r.slice(r.length-12),s=r.slice(r.length-28,r.length-12),i=e.createDecipheriv("aes-256-gcm",Re.base64ToBytes(this.sharedSecret),n);i.setAuthTag(s);const o=r.slice(0,r.length-28);return Buffer.concat([new Uint8Array(i.update(o)),new Uint8Array(i.final())]).toString("utf-8")}},EcdhWeb:class extends Mn{constructor(t="P-256",r="raw"){super(t,r),this.__subtle=e.webcrypto.subtle}},Socks5:class{upstreamProxy;server=null;clientSockets=new Set;systemProxy=null;useSystemProxy=!1;__debug=!1;__uuid;__port=0;__event;__pipeline;__logger;__totalReceived=0;__totalSent=0;constructor(e,t=!1,r){this.__event=new f,this.upstreamProxy=this.filterProxyConfigs(e),this.__debug=t,this.__uuid=h(),this.__pipeline=new ke(1),this.__logger=r||console}get id(){return this.__uuid}get port(){return this.__port}get url(){return this.__port?`socks5://127.0.0.1:${this.__port}`:""}get totalReceived(){return this.__totalReceived}get totalSent(){return this.__totalSent}validateProxyConfig(e){const{ipaddress:t,port:r,userId:n,password:s}=e||{};return t&&"string"==typeof t?r&&"number"==typeof r?n&&"string"==typeof n?s&&"string"==typeof s?"":"无效的上游代理密码":"无效的上游代理用户名":"无效的上游代理端口":"无效的上游代理 IP 地址"}filterProxyConfigs(e){let t=[];t=e&&Array.isArray(e)?e:[e];const r=[];for(const e of t)this.validateProxyConfig(e)||r.push(e);return r}async start(e=8838){if(this.upstreamProxy.length<=0)return 0;if(this.server)return this.__debug&&console.info("[socks5] server is already running"),this.__port;const t=await this.findAvailablePort(e);return t?(this.__port=t,this.server=r.createServer((e=>this.handleSocksConnection(e))),this.server.listen(t,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${t}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),t):0}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,!0)}setSystemProxy(e,t){this.useSystemProxy=e,e&&t&&t.ipaddress&&t.port&&(this.systemProxy=t)}async findAvailablePort(e,t=200){let n=e,s=0;for(;s<t;)try{return await new Promise(((e,t)=>{const s=r.createServer();s.unref(),s.on("error",t),s.listen(n,(()=>{s.close((()=>e()))}))})),n}catch{s++,n++}return this.__debug&&this.__logger?.warn("[socks5] findAvailablePort failed"),0}async handleSocksConnection(e){let t="";try{if(!e)return;this.clientSockets.add(e),e.on("close",(()=>{this.clientSockets.delete(e),e?.destroy()})),await this.performHandshake(e);const r=await this.parseClientRequest(e),n=r.addr;t=`${n}:${r.port}`,this.__debug&&this.__logger?.info("[socks5] handle connection",t);const s=this.getProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info("[socks5] handle connection upstream",t,s.userId),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!kr.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] handle connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] handle connection local",t);const n=await this.connectToLocal(r);this.setupDataForwarding(e,n,"local")}}catch(r){this.__debug&&this.__logger?.error("[socks5] connection failed:",r),e.end(new Uint8Array([5,1])),this._emit("error",r,t)}}performHandshake(e){return new Promise(((t,r)=>{e.once("data",(n=>{if(5!==n[0])return r(new Error("Unsupported SOCKS version"));e.write(new Uint8Array([5,0])),t()}))}))}parseClientRequest(e){return new Promise(((t,r)=>{e.once("data",(e=>{let n,s;if(1!==e[1])return r(new Error("Unsupported command"));if(1===e[3])n=e.slice(4,8).join("."),s=e.readUInt16BE(8);else{if(3!==e[3])return r(new Error("Unsupported address type"));{const t=e[4];n=e.slice(5,5+t).toString(),s=e.readUInt16BE(5+t)}}t({addr:n,port:s})}))}))}async connectToUpstreamProxy(e,t){const r={proxy:{ipaddress:t.ipaddress,port:t.port,type:5,userId:t.userId,password:t.password},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(r)}catch(e){throw new Error("Failed to connect to upstream proxy: "+e)}}async connectToSystemProxy(e){const t={proxy:{...this.systemProxy,type:5},command:"connect",destination:{host:e.addr,port:e.port}};try{return await this.connectToProxy(t)}catch(e){throw new Error("Failed to connect to system proxy: "+e)}}async connectToProxy(e){const{socket:t}=await n.createConnection(e);return t}async connectToLocal(e){return new Promise(((t,n)=>{const s=r.createConnection(e.port,e.addr,(()=>{t(s)}));s.on("error",(e=>{n(e)}))}))}setupDataForwarding(e,t,r="local"){e.write(new Uint8Array([5,0,0,1,0,0,0,0,0,0])),e.pipe(t),t.pipe(e);const n=`${t.localAddress}:${t.localPort}`;this.__debug&&console.info(`[socks5] setupDataForwarding ${n}`),"upstream"===r&&(t.on("data",(e=>{this.__totalSent+=e.length})),e.on("data",(e=>{this.__totalReceived+=e.length}))),e.on("close",(()=>{this.__debug&&console.info("[socks5] client socket close",n),t.end()})),t.on("close",(()=>{this.__debug&&console.info("[socks5] target socket close",n),e.end()})),e.on("error",(e=>{this.__debug&&console.error("[socks5] client socket error:",e?.message),t.end()})),t.on("error",(t=>{this.__debug&&console.error("[socks5] target socket error:",t?.message),e.end()}))}getProxyConfig(e){if(!kr.isLocalIpAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(kr.isLocalIpAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(kr.shExpMatch(e,r))return!0}return!1}close(){try{if(!this.server)return;this.__debug&&this.__logger?.info("[socks5] closing SOCKS5 proxy server..."),this.server.close((e=>{e&&this.__debug&&this.__logger?.error("[socks5] closing the server failed:",e)})),this.clientSockets.forEach((e=>e?.destroy())),this.clientSockets.clear(),this.server=null,this.__port=0}catch(e){this.__debug&&this.__logger?.error("[socks5] close error:",e)}}on(e,t){e&&t&&(this.__event.off(e,t),this.__event.on(e,t))}off(e,t){e&&this.__event.off(e,t)}resetStatistics(){this.__totalReceived=0,this.__totalSent=0}_emit(e,...t){try{if(!e)return;this.__event.emit(e,...t)}catch(e){}}},rsa:Ke},Hn={Ecdh:Mn};class Vn{timestamp=0;_key="";_value;constructor(e,t){this._key=e,this._value=t,this.updateAt()}get key(){return this._key}get value(){return this._value}set(e){this._value=e,this.updateAt()}updateAt(){this.timestamp=Date.now()}clear(){this.set(void 0)}}class Wn{_map=new Map;constructor(){this._map.clear()}get keys(){return Array.from(this._map.keys())}get values(){return Array.from(this._map.values())}get(e){if(!e)return;const t=this._map.get(e);return t?t.value:void 0}getKV(e){if(e)return this._map.get(e)}set(e,t){if(!e)return;const r=this._map.get(e);r?(r.set(t),this.clean()):this._map.set(e,new Vn(e,t))}delete(e,t){if(!e)return;const r=this._map.get(e);t&&t(r?.value),this._map.delete(e)}clear(){this._map.clear()}clean(e=100,t){try{if(this._map.size<=e)return;if(this.keys.filter((e=>{if(!this._map.has(e))return!1;const t=this._map.get(e);return!t||!t.value})).forEach((e=>{this._map.delete(e)})),this._map.size<=e)return;const r=this.values.sort(((e,t)=>e.timestamp-t.timestamp)),n=r.length-e;if(n<=0)return;r.splice(0,n).forEach((e=>{this.delete(e.key,t)}))}catch(e){console.log("mapping clean",e)}}}const Zn={gbk:o,math:Be,list:ar,string:zt,time:b,obj:sr,rule:Yr,regex:Qr,...Re,...Xr,...ir,Event:f},Yn=ir.singleton,Qn={...Re,...Xr,...Ht,...zt,...Be,qs:kr,singleton:Yn},Gn={mini:yr,css:sn,qs:kr,icon:xn,html:hn},Jn={cdn:fn,watermark:On},Xn={Store:kn,storeRef:Cn,Persist:Sn,persistConfig:An},es=jn,ts=Tn,rs=_n,ns={fetch:vn,Http:yn,css:sn,qs:kr,icon:xn,html:hn,rsa:Ne,...Hn},ss={...Nn};var is={gbk:o,time:b,hook:Ht,math:Be,util:ir,list:ar,string:zt,obj:sr,crypto:Xr,mini:yr,qs:kr,css:sn,cdn:fn,html:hn,icon:xn,rule:Yr,regex:Qr,convert:Re,KValue:Vn,Mapping:Wn,Event:f,Http:yn,Store:kn,storeRef:Cn,Persist:Sn,persistConfig:An,watermark:On,joker:jn,tracker:Tn,logger:_n,fetch:vn,rsa:Ne};export{f as Event,Vn as KValue,Wn as Mapping,Jn as dCdn,Qn as dHook,es as dJoker,rs as dLogger,Gn as dMini,ss as dNode,Xn as dStore,ts as dTracker,Zn as dUtil,ns as dWeb,is as default};
|