ddan-js 3.0.2 → 3.0.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.browser.js +1 -1
- package/bin/ddan-js.js +1 -1
- package/bin/ddan-js.mjs +1 -1
- package/bin/modules/html.d.ts +5 -0
- package/bin/modules/time/index.d.ts +2 -0
- package/bin/styles/ddan.scss +1 -0
- package/bin/tiny/mini.d.ts +5 -0
- package/bin/tiny/utils.d.ts +1 -0
- package/bin/tiny/web.d.ts +5 -0
- package/package.json +1 -1
package/bin/ddan-js.mjs
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";import i from"fs";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 f{__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 h{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 d{_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 h(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 p="object"==typeof global&&null!==global&&global.Object===Object&&global,g="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,y="object"==typeof self&&null!==self&&self.Object===Object&&self,m=g||p||y||Function("return this")(),b=m.Symbol,{toString:w,hasOwnProperty:_,propertyIsEnumerable:v}=Object.prototype,x=b?b.toStringTag:void 0;function A(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?function(e){const t=_.call(e,x),r=e[x];let n=!1;try{e[x]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[x]=r:delete e[x]),s}(e):w.call(e)}var S={getTag:A,getType:function(e){return(A(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:_,propertyIsEnumerable:v};const k="object"==typeof exports&&null!==exports&&!exports.nodeType&&exports,C=k&&"object"==typeof module&&null!==module&&!module.nodeType&&module,$=C&&C.exports===k&&p.process,j=(()=>{try{const e=C&&C.require&&C.require("util").types;return e||$&&$.binding&&$.binding("util")}catch(e){}})();var O="[object Function]",E="[object GeneratorFunction]",P="[object AsyncFunction]",T=9007199254740991;const q=/^(?:0|[1-9]\d*)$/,B=m?.Buffer?.isBuffer,L=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,R=j&&j.isTypedArray;function F(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function U(e){return null!=e&&"object"==typeof e}const D=Array.isArray;function I(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=T}(e.length)&&!K(e)}function M(e){return U(e)&&I(e)}function K(e){var t=F(e)?S.getTag(e):"";return t===O||t===E||t===P}function z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function N(e){return M(e)&&S.hasOwnProperty.call(e,"callee")&&(!S.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==S.toString.call(e))}const V="undefined"!=typeof window&&void 0!==window.document,H="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,W=R?e=>R(e):e=>U(e)&&L.test(S.getTag(e)),Z="function"==typeof B?B:()=>!1;var Y={is:function(e,t){return S.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===S.getTag(e)},isString:function(e){return"string"==typeof e||!D(e)&&U(e)&&"[object String]"==S.getTag(e)},isObject:F,isObjectLike:U,isPlainObject:function(e){if(!U(e)||"[object Object]"!=S.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||U(e)&&"[object Symbol]"===S.getTag(e)},isFunction:K,isArray:D,isArrayLikeObject:M,isIndex:function(e,t){return!!(t=null==t?T:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:I,isPrototype:z,isArguments:N,isPromise:function(e){return"[object Promise]"===(F(e)?S.getTag(e):"")},isBrowser:V,isNode:H,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(I(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||Z(e)||W(e)||N(e)))return!e.length;const t=S.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(S.hasOwnProperty.call(e,t))return!1;return!0}};const J=NaN,Q=/^\s+|\s+$/g,G=/^[-+]0x[0-9a-f]+$/i,X=/^0b[01]+$/i,ee=/^0o[0-7]+$/i,te=parseInt,re=1/0,ne=17976931348623157e292;function se(e){if("number"==typeof e)return e;if(Y.isSymbol(e))return J;if(Y.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=Y.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Q,"");const t=X.test(e);return t||ee.test(e)?te(e.slice(2),t?2:8):G.test(e)?J:+e}function ie(e){return e?(e=se(e))===re||e===-re?(e<0?-1:1)*ne:e==e?e:0:0===e?e:0}var oe={toNumber:se,toFinite:ie,toInteger:function(e){var t=ie(e),r=t%1;return t==t?r?t-r:t:0}};const ae="Expected a function",ce=Math.max,le=Math.min;function ue(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(ae);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||f&&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 f?le(r,i-(e-l)):r}(e))}function y(e){return a=void 0,h&&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(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=oe.toNumber(t)||0,Y.isObject(r)&&(u=!!r.leading,f="maxWait"in r,i=f?ce(oe.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),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 fe{__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(Y.isFunction(e))r=e(t);else{if(Y.isPromise(e))return e.then((e=>({...t,...e})));r=e}return Y.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 he(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const de=(e,t)=>{try{let r;return r=Y.isFunction(e)?e():e,he(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},pe=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,ge=e=>"function"==typeof e?e():e;var ye={to:he,go:(e,t)=>de(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:de,toError:pe,timeout:(e,t=0,r="timeout")=>{if(t<=0)return de(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([pe(r||"timeout"),void 0])),t)}));return Promise.race([de(e,s),i])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return ge(n?t:r)},resolveValue:ge};class me{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var be={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 me;return void 0!==e&&t.set(e),t}};class we{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ye.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class _e{__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 we(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 ye.delay(100),this._step()}return this.clear()}}class ve extends(be.singleton()){__lockedMap=new Map;pipeline=new _e;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ye.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 ye.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ye.safeRun(e);const s=await n;return this.unlock(t),s}}var xe={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 Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Se={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=xe.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+Ae.charAt(s)+Ae.charAt(i)+Ae.charAt(o)+Ae.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=Ae.indexOf(e.charAt(l++)),i=Ae.indexOf(e.charAt(l++)),o=Ae.indexOf(e.charAt(l++)),a=Ae.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=xe.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!Y.isArrayLike(e)||!Y.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+Ae.charAt(s)+Ae.charAt(i)+Ae.charAt(o)+Ae.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=Ae.indexOf(e.charAt(l++)),i=Ae.indexOf(e.charAt(l++)),o=Ae.indexOf(e.charAt(l++)),a=Ae.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 ke(e){return Math.floor(Math.random()*e)}function Ce(e,t=10){return+parseFloat(Number(e).toExponential(t))}const $e=180/Math.PI;var je={random:ke,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=ke(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:Ce,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=Ce(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*$e},degree2radian:function(e){return e/$e},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 Oe={bytes2str:e=>{if(!e||!Y.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 Ee={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return Oe.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Pe(e,t){return e<<t|e>>>32-t}function Te(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function qe(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),Te(Pe(e,i),t)}function Be(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),Te(Pe(e,i),t)}function Le(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e^t^r}(t,r,n),s),o)),Te(Pe(e,i),t)}function Re(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),Te(Pe(e,i),t)}function Fe(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Ue(e){let t,r,n,s,i,o,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=o,n=a,s=c,i=l,o=qe(o,a,c,l,u[t+0],7,3614090360),l=qe(l,o,a,c,u[t+1],12,3905402710),c=qe(c,l,o,a,u[t+2],17,606105819),a=qe(a,c,l,o,u[t+3],22,3250441966),o=qe(o,a,c,l,u[t+4],7,4118548399),l=qe(l,o,a,c,u[t+5],12,1200080426),c=qe(c,l,o,a,u[t+6],17,2821735955),a=qe(a,c,l,o,u[t+7],22,4249261313),o=qe(o,a,c,l,u[t+8],7,1770035416),l=qe(l,o,a,c,u[t+9],12,2336552879),c=qe(c,l,o,a,u[t+10],17,4294925233),a=qe(a,c,l,o,u[t+11],22,2304563134),o=qe(o,a,c,l,u[t+12],7,1804603682),l=qe(l,o,a,c,u[t+13],12,4254626195),c=qe(c,l,o,a,u[t+14],17,2792965006),a=qe(a,c,l,o,u[t+15],22,1236535329),o=Be(o,a,c,l,u[t+1],5,4129170786),l=Be(l,o,a,c,u[t+6],9,3225465664),c=Be(c,l,o,a,u[t+11],14,643717713),a=Be(a,c,l,o,u[t+0],20,3921069994),o=Be(o,a,c,l,u[t+5],5,3593408605),l=Be(l,o,a,c,u[t+10],9,38016083),c=Be(c,l,o,a,u[t+15],14,3634488961),a=Be(a,c,l,o,u[t+4],20,3889429448),o=Be(o,a,c,l,u[t+9],5,568446438),l=Be(l,o,a,c,u[t+14],9,3275163606),c=Be(c,l,o,a,u[t+3],14,4107603335),a=Be(a,c,l,o,u[t+8],20,1163531501),o=Be(o,a,c,l,u[t+13],5,2850285829),l=Be(l,o,a,c,u[t+2],9,4243563512),c=Be(c,l,o,a,u[t+7],14,1735328473),a=Be(a,c,l,o,u[t+12],20,2368359562),o=Le(o,a,c,l,u[t+5],4,4294588738),l=Le(l,o,a,c,u[t+8],11,2272392833),c=Le(c,l,o,a,u[t+11],16,1839030562),a=Le(a,c,l,o,u[t+14],23,4259657740),o=Le(o,a,c,l,u[t+1],4,2763975236),l=Le(l,o,a,c,u[t+4],11,1272893353),c=Le(c,l,o,a,u[t+7],16,4139469664),a=Le(a,c,l,o,u[t+10],23,3200236656),o=Le(o,a,c,l,u[t+13],4,681279174),l=Le(l,o,a,c,u[t+0],11,3936430074),c=Le(c,l,o,a,u[t+3],16,3572445317),a=Le(a,c,l,o,u[t+6],23,76029189),o=Le(o,a,c,l,u[t+9],4,3654602809),l=Le(l,o,a,c,u[t+12],11,3873151461),c=Le(c,l,o,a,u[t+15],16,530742520),a=Le(a,c,l,o,u[t+2],23,3299628645),o=Re(o,a,c,l,u[t+0],6,4096336452),l=Re(l,o,a,c,u[t+7],10,1126891415),c=Re(c,l,o,a,u[t+14],15,2878612391),a=Re(a,c,l,o,u[t+5],21,4237533241),o=Re(o,a,c,l,u[t+12],6,1700485571),l=Re(l,o,a,c,u[t+3],10,2399980690),c=Re(c,l,o,a,u[t+10],15,4293915773),a=Re(a,c,l,o,u[t+1],21,2240044497),o=Re(o,a,c,l,u[t+8],6,1873313359),l=Re(l,o,a,c,u[t+15],10,4264355552),c=Re(c,l,o,a,u[t+6],15,2734768916),a=Re(a,c,l,o,u[t+13],21,1309151649),o=Re(o,a,c,l,u[t+4],6,4149444226),l=Re(l,o,a,c,u[t+11],10,3174756917),c=Re(c,l,o,a,u[t+2],15,718787259),a=Re(a,c,l,o,u[t+9],21,3951481745),o=Te(o,r),a=Te(a,n),c=Te(c,s),l=Te(l,i);return Fe(o)+Fe(a)+Fe(c)+Fe(l)}const De=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Ue("string"==typeof e?xe.toUtf8Bytes(e):e)};var Ie={md5:De,md5Base64:e=>{const t=De(e);if(!t)return"";const r=Oe.hex2bytes(t);return Se.bytesToBase64(r)}};const Me=(e,t=!1)=>{const r=new Uint8Array(e);return t?Se.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Ke={...Oe,...Ee,...xe,...Se,...Ie,str2ab:(e="",t=!1)=>{if(t)return Se.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:Me,utf8ToBase64:e=>Y.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>Y.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]=je.random(256);return t},textEncode:e=>xe.toUtf8Bytes(e),textDecode:e=>xe.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Se.toBase64(e):Y.isArrayBuffer(e)?`data:${t};base64,`+Me(e,!0):"":""};const ze=e=>{try{const t=Ke.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Ne=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var Ve={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=ze(r),s=Ne(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=ze(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:Ne(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Ne,format_pem_content:ze,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Ke.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=Ke.concatBytes(...i);return Ke.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Ke.base64ToBytes(t),s=await e.importKey("pkcs8",Ke.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=Ke.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const He=()=>e.webcrypto.subtle;var We={generateKeys:()=>Ve.generateKeys(He()),encrypt:async(e,t)=>Ve.encrypt(He(),e,t),decrypt:async(e,t)=>Ve.decrypt(He(),e,t),encode:async e=>Ve.encrypt(He(),e,Ve.RSAPublicKey),decode:async e=>Ve.decrypt(He(),e,Ve.RSAPrivateKey)};const Ze="undefined"!=typeof window?window.crypto.subtle:{};var Ye={generateKeys:()=>Ve.generateKeys(Ze),encrypt:async(e,t)=>Ve.encrypt(Ze,e,t),decrypt:async(e,t)=>Ve.decrypt(Ze,e,t),encode:async e=>Ve.encrypt(Ze,e,Ve.RSAPublicKey),decode:async e=>Ve.decrypt(Ze,e,Ve.RSAPrivateKey)};const Je=2654435769,Qe=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+Je>>>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},Ge=(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-Je>>>0;return e},Xe=e=>{const t=Ke.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},et=(e,t)=>{const r=Ke.pkcs7Padding(e,8),n=Xe(t),s=[];for(let e=0;e<r.length;e+=8){const t=Ke.bytesToUint32(r.slice(e,e+8)),i=Qe(t,n);s.push(Ke.uint32ToBytes(i))}return Ke.concatBytes(...s)},tt=(e,t)=>{const r=Xe(t),n=[];for(let t=0;t<e.length;t+=8){const s=Ke.bytesToUint32(e.slice(t,t+8)),i=Ge(s,r);n.push(Ke.uint32ToBytes(i))}const s=Ke.concatBytes(...n);return Ke.pkcs7Unpadding(s)};var rt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:Qe,decrypt:Ge,toTeaKey:Xe,encode:(e,t)=>{const r=Ke.textEncode(e),n=et(r,t);return Ke.bytesToBase64(n)},decode:(e,t)=>{const r=Ke.base64ToBytes(e),n=tt(r,t);return Ke.textDecode(n.buffer)},encodeBytes:et,decodeBytes:tt};function nt(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 st=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function it(e){return st.test(e)}const ot="\\ud800-\\udfff",at=`[${ot}]`,ct="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",lt="\\ud83c[\\udffb-\\udfff]",ut=`[^${ot}]`,ft="(?:\\ud83c[\\udde6-\\uddff]){2}",ht="[\\ud800-\\udbff][\\udc00-\\udfff]",dt=`${`(?:${ct}|${lt})`}?`,pt="[\\ufe0e\\ufe0f]?",gt=pt+dt+`(?:\\u200d(?:${[ut,ft,ht].join("|")})${pt+dt})*`,yt=`(?:${[`${ut}${ct}?`,ct,ft,ht,at].join("|")})`,mt=RegExp(`${lt}(?=${lt})|${yt+gt}`,"g");function bt(e){return it(e)?function(e){return e.match(mt)||[]}(e):function(e){return e.split("")}(e)}function wt(e){return t=>{if(!t)return"";const r=it(t)?bt(t):void 0,n=r?r[0]:t[0],s=r?nt(r,1).join(""):t.slice(1);return n[e]()+s}}const _t="\\ud800-\\udfff",vt="\\u2700-\\u27bf",xt="a-z\\xdf-\\xf6\\xf8-\\xff",At="A-Z\\xc0-\\xd6\\xd8-\\xde",St="\\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",kt="['’]",Ct=`[${St}]`,$t=`[${vt}]`,jt=`[${xt}]`,Ot=`[^${_t}${St+"\\d"+vt+xt+At}]`,Et="(?:\\ud83c[\\udde6-\\uddff]){2}",Pt="[\\ud800-\\udbff][\\udc00-\\udfff]",Tt=`[${At}]`,qt=`(?:${jt}|${Ot})`,Bt=`(?:${Tt}|${Ot})`,Lt=`(?:${kt}(?:d|ll|m|re|s|t|ve))?`,Rt=`(?:${kt}(?:D|LL|M|RE|S|T|VE))?`,Ft="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ut="[\\ufe0e\\ufe0f]?",Dt=Ut+Ft+`(?:\\u200d(?:${[`[^${_t}]`,Et,Pt].join("|")})${Ut+Ft})*`,It=`(?:${[$t,Et,Pt].join("|")})${Dt}`,Mt=RegExp([`${Tt}?${jt}+${Lt}(?=${[Ct,Tt,"$"].join("|")})`,`${Bt}+${Rt}(?=${[Ct,Tt+qt,"$"].join("|")})`,`${Tt}?${qt}+${Lt}`,`${Tt}+${Rt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",It].join("|"),"g");const Kt=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 ]/),zt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Nt(e,t){if(void 0===t){const t=Kt(e)?function(e){return e.match(Mt)}(e):function(e){return e.match(zt)}(e);return t||[]}return e.match(t)||[]}function Vt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Vt(e)))}`;if(Y.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Ht=wt("toUpperCase"),Wt=wt("toLowerCase");var Zt={toString:Vt,startCase:e=>Nt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Ht(t)),""),snakeCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Ht(t):t))),""),upperCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Ht,lowerCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Wt,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}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var Yt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":rt.encode(t,Ke.hex2str(rt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=rt.decode(e,Ke.hex2str(rt.TEAKey));return Zt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return Y.isBrowser?await Ye.encode(t):await We.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=Y.isBrowser?await Ye.decode(e):await We.decode(e);return Zt.jsonFormat(t)}catch(e){return""}}};const Jt=(e,t,r)=>e*(1-r)+t*r,Qt=(e,t,r)=>e===t?0:(r-e)/(t-e),Gt=(e,t,r)=>({x:Jt(e.x,t.x,r),y:Jt(e.y,t.y,r)}),Xt=(e,t,r,n)=>{const s=Gt(e,t,n),i=Gt(t,r,n);return Gt(s,i,n)},er=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return er(r,t)},tr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var rr={bezier1:Gt,bezier2:Xt,bezier3:(e,t,r,n,s)=>{const i=Xt(e,t,r,s),o=Xt(t,r,n,s);return Gt(i,o,s)},bezier:er,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=tr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:Jt,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return Jt(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=Qt(i.x,o.x,e);t=Gt(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:Qt};var nr={...ye,...Yt,...rr,sleep:ye.delay,run:async function(e,t=0){if(t<=0)return ye.safeRun(e);const r=t>0?Date.now():0,n=await ye.safeRun(e),s=Date.now()-r;return s<t&&await ye.delay(t-s),n},exec:(e,t="")=>ve.I.exec(e,t),debounce:ue,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Y.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ue(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new fe(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 ye.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ye.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>ve.I.pipeline.push(e,t),pipeline:(e=1)=>new _e(e),safeTask:(e,t)=>new we(e,t)};const sr=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]=sr(e[r]));return t};const ir=(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]=or(e[o],a,r)}return n},or=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?ir(e,t,r):ir({...e},t,r),n},ar=(e,t,r={})=>ir({...e},t,{cover:!0,...r}),cr=(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=>{cr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&cr(e,t,r,n,s)},get:()=>i})};var lr={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:sr,merge:or,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:ar,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=ar(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:cr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const ur=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 f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,S.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lr.parseValue(c,{number:o,boolean:a}),c},fr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},hr=function(e,t=!0){return t?encodeURIComponent(e):e},dr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},pr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,gr=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}},yr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(pr);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},mr=(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 br={parse:ur,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=hr(fr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+hr(fr(e),s)})).join(t):dr(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+hr(fr(l),s)})).filter(Boolean).join(t):n?hr(fr(n),s)+r+hr(fr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=yr(e),{origin:r="",url:n="",query:s=""}=t,i=gr(n),o=ur(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:gr,parseHost:yr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:mr,isLocalIpAddress:e=>!!e&&!!(mr(e,"127.0.0.1")||mr(e,"localhost")||mr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",i=n[2]||"";t.host=s;const o=i.split("?");return t.url=t.protocol+`//${t.host}`+o[0],t.file=o[0],t.query=o.length>1?o[1]:"",t.params=ur(t.query,{multiple:!0,uri:!1}),t}};class wr{_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 _r={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class vr{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/_r.oneSecond);let r=t.countdown;t.d=Math.floor(r/_r.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=_r.oneDay,t.h=Math.floor(r/_r.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=_r.oneHour,t.m=Math.floor(r/_r.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=_r.oneMinute,t.s=Math.floor(r/_r.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=_r.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>_r.oneHour?"hh:mm:ss":t.countdown>_r.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 xr=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?Ar(r).format(t):""},Ar=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new vr(t||0)};function Sr({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(xr(Date.now(),o)).getTime()}var kr={..._r,now:function(){return Ar(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Sr,todayZero:()=>Sr({}),format:xr,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return Ar(r).toCountdown(t)},dtime:Ar,loopFrame:(e=500)=>new wr(e),getTimezoneOffset:()=>vr.timezoneOffset,getLocalTime:vr.getLocalTime};const Cr=e=>Se.toBase64(e);var $r={encode:Cr,decode:e=>Se.fromBase64(e),encodeByOss:e=>Cr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var jr={...l,base64:$r,tea:rt,uuid:u,guid:(e,t=!1,r="")=>{const n=u(e||32);return t?kr.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 Or=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Er(e,t,r);case"[object Map]":return Pr(e,t,r);case"[object Set]":return Tr(e,t,r);case"[object Object]":return qr(e,t,r);default:return Br(e,t,n)}},Er=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Or(e[n],t[n],r-1))return!1;return!0},Pr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Or(s,t.get(n),r-1))return!1;return!0},Tr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Or(n,e,r-1))))return!1;return!0},qr=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!s.includes(i)||!Or(e[i],t[i],r-1))return!1;const i=Object.getOwnPropertySymbols(e),o=Object.getOwnPropertySymbols(t);if(i.length!==o.length)return!1;for(const n of i)if(!o.includes(n)||!Or(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Br=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return Lr(e,t);default:return e===t}},Lr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Rr={isEqual:Or,isEqualArray:Er,isEqualObject:qr,isEqualValue:Br,isEqualAB:Lr,isEqualDeep:(e,t)=>Or(e,t,1/0)};const Fr=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(Fr(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(Fr(n,t),Fr(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(Fr(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=Fr(s,t)}return r};var Ur={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0,...o}=t,a={},c=[{condition:o.ignoreNull,test:e=>null===e},{condition:o.ignoreZero,test:e=>0===e},{condition:o.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:o.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||i&&e.startsWith("_")?e:Zt.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:Fr,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Dr=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Ir={shExpMatch:Dr,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Dr(e,t))return!0}return!1}};const Mr="[object Object]",Kr="[object Array]",zr=S.getTag,Nr=e=>{if(zr(e)!==Mr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];zr(s[t])!==Mr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},Vr=(e,t,r=!1)=>{if(e===t)return;const n=zr(e);if(n===zr(t))if(n===Kr&&e.length>=t.length)for(let r=0;r<t.length;r++)Vr(e[r],t[r]);else if(n===Mr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?Vr(e[n],t[n]):e[n]=null},Hr=(e,t)=>Vr(e,t,!0),Wr=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const i=zr(e),o=zr(t);if(i===Kr&&o===i&&e.length>=t.length){for(let s=0;s<e.length;s++)Wr(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(i===Mr&&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=zr(s),c=zr(o);if(s!==o)if(a===Kr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Wr(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`,!1);else if(a===Mr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Wr(s[e],o[e],r,`${n?n+".":""}${i}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${i}`]=s)}return r}return r[n]=e,r};const Zr={...{...Rr,...Ur,...Ir,...{flattenPath:Nr,normalizeStructure:Hr,diffPath:(e,t)=>{const r=Nr(e),n=Nr(t);return Hr(r,n),Wr(r,n)}}},...Ke,...jr,...nr,...Zt,...je,...be,qs:br};var Yr={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)}};function Jr(e){return e!=e}function Qr(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 Gr,Xr,en=(Gr=Object.keys,Xr=Object,function(e){return Gr(Xr(e))}),tn=Math.max;function rn(e,t){var r=Y.isArray(e)||Y.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&&!S.hasOwnProperty.call(e,i)||s&&("length"==i||Y.isIndex(i,n))||r.push(i);return r}var nn={...Y,...S,...lr,...be,includes:function(e,t,r,n){e=Y.isArrayLike(e)?e:function(e){return e?Qr(e,function(e){return Y.isArrayLike(e)?rn(e):function(e){if(!Y.isPrototype(e))return en(e);var t=[];for(var r in Object(e))S.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?oe.toInteger(r):0;var s=e.length;return r<0&&(r=tn(s+r,0)),Y.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,Jr,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(Y.isObject(e)&&(r=Y.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var sn={...{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]:[]}},stepAction:function(e,t,r=100){if(!Y.isFunction(t))return;if(!Y.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(!Y.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!Y.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!Y.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return je.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!Y.isObject(e))return;const s=e[t];(Y.isString(s)&&""!==s||Y.isNumber(s))&&(n[s]=e[r])})),n):n}};const on=/%[sdj%]/g;let an=()=>{};function cn(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 ln(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(on,(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 un(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 fn(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&&(an=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class hn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function dn(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);fn(o,r,(e=>(n(e),e.length?i(new hn(e,cn(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 f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new hn(l,cn(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?fn(n,r,f):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,f)}))}));return u.catch((e=>e)),u}function pn(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],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function gn(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 yn=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!un(t,i||e.type)||n.push(ln(s.messages.required,e.fullField))};let mn;const bn=/^(([^<>()\[\]\\.,;:\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,}))$/,wn=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,_n={integer:e=>_n.number(e)&&parseInt(e,10)===e,float:e=>_n.number(e)&&!_n.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&&!_n.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(bn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(mn)return mn;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 mn=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"),mn})()),hex:e=>"string"==typeof e&&!!e.match(wn)},vn="enum";var xn={required:yn,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(ln(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void yn(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?_n[i](t)||n.push(ln(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(ln(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 f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(ln(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(ln(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(ln(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(ln(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[vn]=Array.isArray(e[vn])?e[vn]:[],-1===e[vn].indexOf(t)&&n.push(ln(s.messages[vn],e.fullField,e[vn].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(ln(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(ln(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const An=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(un(t,i)&&!e.required)return r();xn.required(e,t,n,o,s,i),un(t,i)||xn.type(e,t,n,o,s)}r(o)};var Sn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(un(t,"string")&&!e.required)return r();xn.required(e,t,n,i,s,"string"),un(t,"string")||(xn.type(e,t,n,i,s),xn.range(e,t,n,i,s),xn.pattern(e,t,n,i,s),!0===e.whitespace&&xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&xn.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),un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&(xn.type(e,t,n,i,s),xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),un(t)||xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&(xn.type(e,t,n,i,s),xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&(xn.type(e,t,n,i,s),xn.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();xn.required(e,t,n,i,s,"array"),null!=t&&(xn.type(e,t,n,i,s),xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s),void 0!==t&&xn.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(un(t,"string")&&!e.required)return r();xn.required(e,t,n,i,s),un(t,"string")||xn.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(un(t,"date")&&!e.required)return r();if(xn.required(e,t,n,i,s),!un(t,"date")){let r;r=t instanceof Date?t:new Date(t),xn.type(e,r,n,i,s),r&&xn.range(e,r.getTime(),n,i,s)}}r(i)},url:An,hex:An,email:An,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;xn.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(un(t)&&!e.required)return r();xn.required(e,t,n,i,s)}r(i)}};function kn(){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 Cn=kn();class $n{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Sn[e]=t};static warning=an;static messages=Cn;static validators=Sn;rules={};_messages=Cn;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=gn(kn(),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===Cn&&(e=kn()),gn(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 dn(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&&$n.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(pn(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(pn(r,n)):s.error&&(u=[s.error(r,ln(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 $n(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=cn(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&&!Sn.hasOwnProperty(e.type))throw new Error(ln("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]?Sn.required:Sn[this.getType(e)]||void 0}}function jn(e){return new $n(e)}var On={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:jn,validate:function(e,t,r={},n=(()=>{})){return nr.run(jn(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)}};const En={gbk:Yr,math:je,list:sn,string:Zt,time:kr,obj:lr,rule:On,regex:{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})$/}},...Ke,...jr,...nn,Event:f},Pn="[object Object]",Tn="[object Array]",qn=e=>Object.prototype.toString.call(e),Bn=(e,t,r=!1)=>{if(e===t)return;const n=qn(e);if(n===qn(t))if(n===Tn&&e.length>=t.length)for(let r=0;r<t.length;r++)Bn(e[r],t[r]);else if(n===Pn&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Bn(e[n],t[n]):e[n]=null},Ln=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=qn(e),o=qn(t);if(i===Tn&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Ln(e[s],t[s],r,`${n}[${s}]`);else if(i===Pn&&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=qn(s),c=qn(o);if(s!==o)if(a===Tn&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Ln(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Pn&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Ln(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Rn{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 Fn{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Rn,response:new Rn};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){Fn.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Fn.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=lr.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(Fn.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Fn.requestLock[Fn.blockId].request;else if(Fn.requestLock[Fn.blockId]&&Fn.requestLock[Fn.blockId].lock&&await Fn.requestLock[Fn.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Fn.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Fn.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 Un=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var Dn={diff:function(e,t){const r={};return(e=>{if(qn(e)===Pn)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];qn(n[t])!==Pn&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Bn(e,t,!0),Ln(e,t,r,"",!0),r},promixify:Un,run:(e,t={})=>e?nr.run(Un(e)(t)):nr.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:Fn,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;lr.observe(s,o,a,e,c)}))}};const In=e=>{if(!e)return"";if(!nn.isObject(e))return"";let t="";return nn.forof(e,((e,r)=>{r&&(t+=`${Zt.kebabCase(e)}:${r};`)})),t},Mn=["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"],Kn=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],zn=(e,t="px")=>e&&t?"0"===e?e:On.isFloat(e.toString())?`${e}${t}`:e:e;var Nn={stringify:In,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=br.parse(e,{sep:";",eq:":",uri:!1}),s={};return nn.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Zt.camelCase(e):e;On.isFloat(n)||n.length>=2&&n.startsWith(".")&&On.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:zn,style:(e,t="px")=>{if(!e)return"";const r=nn.copy(e,{fields:Mn});nn.forof(r,((e,n)=>{(Kn.includes(e)||Kn.includes(Zt.camelCase(e)))&&(r[e]=zn(n,t))}));return In(r)},commonFields:Mn};const Vn=(e,t="",r=!1)=>{try{if(!e)return;const n=br.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}?${br.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){Hn(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Hn=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;Vn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Wn=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}},Zn=(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)))})),Yn=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,Jn=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},Qn=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var Gn={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:Vn,download:(e,t="")=>{e&&("string"!=typeof e?Hn(e,t):Vn(e,t))},downloadFile:Hn,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();Vn(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?Zn("clipboard-write").then((t=>{Yn(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Wn(e)))):r(Wn(e))})).catch((()=>{r(Wn(e))})):r(Wn(e))})),queryPermission:Zn,isAllowed:Yn,legacyCopy:Wn,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=Jn(e,r);t.push(n)})),[].concat(...t)},takeHtml:Jn,toBlobUrl:Qn,workerURL:e=>Qn(`(${e.toString()})()`,"text/javascript")};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,${$r.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}`}},es={mini:Dn,css:Nn,qs:br,icon:Xn,html:Gn},ts=({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 rs(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ns(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(nn.isPlainObject(e)){const r=br.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 ss{host="";reqConfig={};handleError;interceptors={request:new Rn,response:new Rn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ns),this.interceptors.response.use(e.handleResponse||rs),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){ss.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ss.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=nn.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(ss.blockId,(()=>ts(s))),i=await ss.requestLock[ss.blockId].request;else if(ss.requestLock[ss.blockId]&&ss.requestLock[ss.blockId].lock&&await ss.requestLock[ss.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ss.requestLock[e]||this.lockR(e,(()=>ts(s))),i=await ss.requestLock[e].request,this.unlockR(e)}else i=await ts(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)}}}var is={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return ye.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Ke.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>ye.to(fetch(e,{cache:t}).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=je.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,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>ye.to(fetch(e,{cache:t}).then((()=>!0)))};class os{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 Ke.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Ke.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=Ke.base64ToBytes(r),s=Ke.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Ke.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Ke.base64ToBytes(r):Ke.getRandomBytes(12),s=Ke.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Ke.concatBytes(new Uint8Array(i),n);return Ke.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Ke.base64ToBytes(e),s=Ke.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Ke.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Ke.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 Ke.textDecode(s)}}const as={fetch:is,Http:ss,css:Nn,qs:br,icon:Xn,html:Gn,rsa:Ye,...{Ecdh:os}};var cs={brotliCompress:function(e,r=t.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const n=Ke.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=Ke.base64ToBytes(e);return t.brotliDecompressSync(r).toString("utf-8")}catch(t){return e||""}}};var ls={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);s(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const us=()=>{try{return"win32"===process.platform?fs():"darwin"===process.platform?hs():"linux"===process.platform?ds():void 0}catch(e){return}},fs=async()=>{do{const[e,t]=await ls.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"');if(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)},hs=async()=>{do{const[e,t]=await ls.child_exec('networksetup -getwebproxy "Wi-Fi"');if(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)},ds=async()=>{do{const[e,t]=await ls.child_exec("env | grep https_proxy");if(e)break;const r=(t||"").trim();if(!r)return;const n=r.match(/:\/\/([^:]+):(\d+)/);if(!n)break;const s=n[1],i=+(n[2]||"");if(!s||!i)break;return{ipaddress:s,port:i}}while(0)},ps=(e,t=["*"],r="DIRECT",n=[])=>{const s=e||r||"DIRECT",i=r||"DIRECT",o=`\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 = "${s}";\n var _default = "${i}";\n var _directs = ${JSON.stringify(n)};\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n for (var j = 0; j < _directs.length; j++) {\n if (shExpMatch(host, _directs[j])) {\n return "DIRECT";\n }\n }\n\n return _default;\n }\n `;return Ke.toDataUrl(o,"application/x-ns-proxy-autoconfig")},gs=(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 ys={getSystemProxy:us,toPacScript:ps,toPacProxy:gs,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=gs(e,t,{type:n});if(!o)return"";let a;if(i){const e=await us();e&&(a=gs(e?.ipaddress||"",e?.port||0,{direct:!0}))}return ps(o,s||[],a)},getPacScript:async e=>{const{type:t="SOCKS5",rules:r=["*"],useSystem:n,address:s="",port:i=0,directs:o=[]}=e||{},a=gs(s,i,{type:t});let c;if(n){const e=await us();e&&(c=gs(e?.ipaddress||"",e?.port||0,{direct:!0}))}return ps(a,r||[],c,o)}};const ms=(e,t)=>new Promise(((r,n)=>{i.readdir(e,(async(s,i)=>{if(s)return n(s);r(bs(e,i,t))}))})),bs=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;i.lstatSync(t).isDirectory()?await ms(`${t}`,r):r&&await r(t)}};var ws={...{readDirectory:ms,readFiles:bs},...cs,...ls,...ys,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=Ke.base64ToBytes(n),i=e.createCipheriv("aes-256-gcm",Ke.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?Ke.base64ToBytes(n):Ke.getRandomBytes(12),i=e.createCipheriv("aes-256-gcm",Ke.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",Ke.base64ToBytes(this.sharedSecret),Ke.base64ToBytes(n)),i=Ke.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=Ke.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",Ke.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 os{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;__rules=[];constructor(e,t=!1,r){this.__event=new f,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=u(),this.__pipeline=new _e(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}get rules(){return this.__rules}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.setupServer(t),t):0}setupServer(e){try{return!!e&&(this.__port=e,this.server=r.createServer((e=>this.handleSocksConnection(e))),this.server.listen(e,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${e}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),this.server.on("close",(()=>{this.__debug&&this.__logger?.info("[socks5] server close")})),!0)}catch(e){return this.__debug&&this.__logger?.info("[socks5] setupServer error:",e),!1}}restart(){this.__debug&&console.info("[socks5] server restart");const e=this.__port;return!!e&&(this.close(),this.setupServer(e))}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!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] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!br.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] 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()}))}findProxyConfig(e){if(!br.isLocalIpAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(br.isLocalIpAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(br.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){}}_updateRules(){this.upstreamProxy&&(this.__rules=sn.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:We};const _s={...ws};var vs={ossImage:(e,t={})=>{if(!e)return e;const r=br.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=sn.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=br.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=>Se.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const xs={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},As=e=>(...t)=>{const r=console[e];xs.overrode?r(...t):Ss(r,e,...t)},Ss=(e,t,...r)=>{const n=kr.format(new Date,xs.format),s=xs.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 ks={override:()=>{if(xs.overrode)return;xs.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Ss(t,e,...r)}}))},log:As("log"),info:As("info"),warn:As("warn"),error:As("error"),config:({tag:e=xs.tag,format:t=xs.format}={})=>{xs.tag=e,xs.format=t}};class Cs{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=nr.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=lr.copy(e,{fields:this.fields});this.save(r)}}class $s extends f{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!Y.isFunction(n))return;const[,s]=await nr.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=lr.copy(t);else{const[,t]=await nr.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){Y.isObject(t)&&(t=lr.copy(t)),this[e]=t}}const js=(e,t)=>{const r=Object.assign(new $s,e||{});r.__persist=new Cs(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 Y.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(Y.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 Os{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=br.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=br.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=br.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=br.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class Es{__list=[];constructor(){this.clear()}add(e){const t=nr.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 Ps=new class{state=js(new $s);frame=new wr;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||kr.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&&!kr.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=nn.copy(r);nn.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||kr.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Es};class Ts{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=kr.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=kr.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const qs=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 Ts;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=lr.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 sn.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)))}},Bs={cdn:vs,watermark:(e,t)=>new Os(e,t)},Ls={Store:$s,storeRef:js,Persist:Cs,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},Rs=Ps,Fs=qs,Us=ks;export{f as Event,h as KValue,d as Mapping,Bs as dCdn,Zr as dHook,Rs as dJoker,Us as dLogger,es as dMini,_s as dNode,Ls as dStore,Fs as dTracker,En as dUtil,as as dWeb};
|
|
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";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 f{__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 h{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 d{_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 h(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 p="object"==typeof global&&null!==global&&global.Object===Object&&global,g="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,y="object"==typeof self&&null!==self&&self.Object===Object&&self,m=g||p||y||Function("return this")(),b=m.Symbol,{toString:w,hasOwnProperty:_,propertyIsEnumerable:v}=Object.prototype,x=b?b.toStringTag:void 0;function A(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?function(e){const t=_.call(e,x),r=e[x];let n=!1;try{e[x]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[x]=r:delete e[x]),s}(e):w.call(e)}var S={getTag:A,getType:function(e){return(A(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:_,propertyIsEnumerable:v};const k="object"==typeof exports&&null!==exports&&!exports.nodeType&&exports,$=k&&"object"==typeof module&&null!==module&&!module.nodeType&&module,C=$&&$.exports===k&&p.process,O=(()=>{try{const e=$&&$.require&&$.require("util").types;return e||C&&C.binding&&C.binding("util")}catch(e){}})();var j="[object Function]",E="[object GeneratorFunction]",P="[object AsyncFunction]",T=9007199254740991;const B=/^(?:0|[1-9]\d*)$/,q=m?.Buffer?.isBuffer,L=/^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/,R=O&&O.isTypedArray;function F(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function U(e){return null!=e&&"object"==typeof e}const D=Array.isArray;function I(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=T}(e.length)&&!K(e)}function M(e){return U(e)&&I(e)}function K(e){var t=F(e)?S.getTag(e):"";return t===j||t===E||t===P}function z(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)}function N(e){return M(e)&&S.hasOwnProperty.call(e,"callee")&&(!S.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==S.toString.call(e))}const V="undefined"!=typeof window&&void 0!==window.document,H="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,W=R?e=>R(e):e=>U(e)&&L.test(S.getTag(e)),Z="function"==typeof q?q:()=>!1;var Y={is:function(e,t){return S.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===S.getTag(e)},isString:function(e){return"string"==typeof e||!D(e)&&U(e)&&"[object String]"==S.getTag(e)},isObject:F,isObjectLike:U,isPlainObject:function(e){if(!U(e)||"[object Object]"!=S.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||U(e)&&"[object Symbol]"===S.getTag(e)},isFunction:K,isArray:D,isArrayLikeObject:M,isIndex:function(e,t){return!!(t=null==t?T:t)&&("number"==typeof e||B.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:I,isPrototype:z,isArguments:N,isPromise:function(e){return"[object Promise]"===(F(e)?S.getTag(e):"")},isBrowser:V,isNode:H,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(I(e)&&(Array.isArray(e)||"string"==typeof e||"function"==typeof e.splice||Z(e)||W(e)||N(e)))return!e.length;const t=S.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(S.hasOwnProperty.call(e,t))return!1;return!0}};const J=NaN,Q=/^\s+|\s+$/g,G=/^[-+]0x[0-9a-f]+$/i,X=/^0b[01]+$/i,ee=/^0o[0-7]+$/i,te=parseInt,re=1/0,ne=17976931348623157e292;function se(e){if("number"==typeof e)return e;if(Y.isSymbol(e))return J;if(Y.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=Y.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Q,"");const t=X.test(e);return t||ee.test(e)?te(e.slice(2),t?2:8):G.test(e)?J:+e}function ie(e){return e?(e=se(e))===re||e===-re?(e<0?-1:1)*ne:e==e?e:0:0===e?e:0}var oe={toNumber:se,toFinite:ie,toInteger:function(e){var t=ie(e),r=t%1;return t==t?r?t-r:t:0}};const ae="Expected a function",ce=Math.max,le=Math.min;function ue(e,t=300,r={}){let n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(ae);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||f&&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 f?le(r,i-(e-l)):r}(e))}function y(e){return a=void 0,h&&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(f)return a=setTimeout(g,t),d(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=oe.toNumber(t)||0,Y.isObject(r)&&(u=!!r.leading,f="maxWait"in r,i=f?ce(oe.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),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 fe{__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(Y.isFunction(e))r=e(t);else{if(Y.isPromise(e))return e.then((e=>({...t,...e})));r=e}return Y.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 he(e,t,r){return e.then((e=>(r&&r(),[null,e]))).catch((e=>(t&&Object.assign(e,t),r&&r(),[e,void 0])))}const de=(e,t)=>{try{let r;return r=Y.isFunction(e)?e():e,he(Promise.resolve(r),void 0,t)}catch(e){return t&&t(),Promise.resolve([e,void 0])}},pe=e=>"string"==typeof(e="function"==typeof e?e():e)?new Error(e):e,ge=e=>"function"==typeof e?e():e;var ye={to:he,go:(e,t)=>de(e,t),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeRun:de,toError:pe,timeout:(e,t=0,r="timeout")=>{if(t<=0)return de(e);let n;function s(){n&&clearTimeout(n)}const i=new Promise((e=>{s(),n=setTimeout((()=>e([pe(r||"timeout"),void 0])),t)}));return Promise.race([de(e,s),i])},getValueIf:(e,t,r)=>{const n="function"==typeof e?e():e;return ge(n?t:r)},resolveValue:ge};class me{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var be={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 me;return void 0!==e&&t.set(e),t}};class we{_func;_callback;constructor(e,t){this._func=e,this._callback=t}async run(){return ye.safeRun(this._func).then((e=>{try{this._callback&&this._callback(e)}catch(e){console.log("[ddan] task",e)}finally{return e}}))}}class _e{__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 we(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 ye.delay(100),this._step()}return this.clear()}}class ve extends(be.singleton()){__lockedMap=new Map;pipeline=new _e;constructor(){super()}lock(e,t){if(!e||!t)return;const r=ye.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 ye.safeRun(e);const r=this.__lockedMap.get(t);if(r)return r;const n=this.lock(t,e);if(!n)return ye.safeRun(e);const s=await n;return this.unlock(t),s}}var xe={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 Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Se={toBase64:(e="")=>{let t,r,n,s,i,o,a,c="",l=0;for(e=xe.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+Ae.charAt(s)+Ae.charAt(i)+Ae.charAt(o)+Ae.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=Ae.indexOf(e.charAt(l++)),i=Ae.indexOf(e.charAt(l++)),o=Ae.indexOf(e.charAt(l++)),a=Ae.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=xe.fromUtf8(c),c},bytesToBase64:e=>{let t,r,n,s,i,o,a,c="",l=0;if(!e||!Y.isArrayLike(e)||!Y.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+Ae.charAt(s)+Ae.charAt(i)+Ae.charAt(o)+Ae.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=Ae.indexOf(e.charAt(l++)),i=Ae.indexOf(e.charAt(l++)),o=Ae.indexOf(e.charAt(l++)),a=Ae.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 ke(e){return Math.floor(Math.random()*e)}function $e(e,t=10){return+parseFloat(Number(e).toExponential(t))}const Ce=180/Math.PI;var Oe={random:ke,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=ke(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:$e,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=$e(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*Ce},degree2radian:function(e){return e/Ce},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 je={bytes2str:e=>{if(!e||!Y.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 Ee={pkcs7Padding:(e,t)=>{const r=t-e.length%t,n=new Uint8Array(r).fill(r);return je.concatBytes(e,n)},pkcs7Unpadding:e=>{const t=e[e.length-1];return e.slice(0,-t)}};function Pe(e,t){return e<<t|e>>>32-t}function Te(e,t){let r,n,s,i,o;return s=2147483648&e,i=2147483648&t,r=1073741824&e,n=1073741824&t,o=(1073741823&e)+(1073741823&t),r&n?2147483648^o^s^i:r|n?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function Be(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&t|~e&r}(t,r,n),s),o)),Te(Pe(e,i),t)}function qe(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e&r|t&~r}(t,r,n),s),o)),Te(Pe(e,i),t)}function Le(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return e^t^r}(t,r,n),s),o)),Te(Pe(e,i),t)}function Re(e,t,r,n,s,i,o){return e=Te(e,Te(Te(function(e,t,r){return t^(e|~r)}(t,r,n),s),o)),Te(Pe(e,i),t)}function Fe(e){let t,r,n="",s="";for(r=0;r<=3;r++)t=e>>>8*r&255,s="0"+t.toString(16),n+=s.substr(s.length-2,2);return n}function Ue(e){let t,r,n,s,i,o,a,c,l,u=[];for(u=function(e){let t;const r=e.length,n=r+8,s=16*((n-n%64)/64+1),i=Array(s-1).fill(0);let o=0,a=0;for(;a<r;)t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|e[a]<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=r<<3,i[s-1]=r>>>29,i}(e),o=1732584193,a=4023233417,c=2562383102,l=271733878,t=0;t<u.length;t+=16)r=o,n=a,s=c,i=l,o=Be(o,a,c,l,u[t+0],7,3614090360),l=Be(l,o,a,c,u[t+1],12,3905402710),c=Be(c,l,o,a,u[t+2],17,606105819),a=Be(a,c,l,o,u[t+3],22,3250441966),o=Be(o,a,c,l,u[t+4],7,4118548399),l=Be(l,o,a,c,u[t+5],12,1200080426),c=Be(c,l,o,a,u[t+6],17,2821735955),a=Be(a,c,l,o,u[t+7],22,4249261313),o=Be(o,a,c,l,u[t+8],7,1770035416),l=Be(l,o,a,c,u[t+9],12,2336552879),c=Be(c,l,o,a,u[t+10],17,4294925233),a=Be(a,c,l,o,u[t+11],22,2304563134),o=Be(o,a,c,l,u[t+12],7,1804603682),l=Be(l,o,a,c,u[t+13],12,4254626195),c=Be(c,l,o,a,u[t+14],17,2792965006),a=Be(a,c,l,o,u[t+15],22,1236535329),o=qe(o,a,c,l,u[t+1],5,4129170786),l=qe(l,o,a,c,u[t+6],9,3225465664),c=qe(c,l,o,a,u[t+11],14,643717713),a=qe(a,c,l,o,u[t+0],20,3921069994),o=qe(o,a,c,l,u[t+5],5,3593408605),l=qe(l,o,a,c,u[t+10],9,38016083),c=qe(c,l,o,a,u[t+15],14,3634488961),a=qe(a,c,l,o,u[t+4],20,3889429448),o=qe(o,a,c,l,u[t+9],5,568446438),l=qe(l,o,a,c,u[t+14],9,3275163606),c=qe(c,l,o,a,u[t+3],14,4107603335),a=qe(a,c,l,o,u[t+8],20,1163531501),o=qe(o,a,c,l,u[t+13],5,2850285829),l=qe(l,o,a,c,u[t+2],9,4243563512),c=qe(c,l,o,a,u[t+7],14,1735328473),a=qe(a,c,l,o,u[t+12],20,2368359562),o=Le(o,a,c,l,u[t+5],4,4294588738),l=Le(l,o,a,c,u[t+8],11,2272392833),c=Le(c,l,o,a,u[t+11],16,1839030562),a=Le(a,c,l,o,u[t+14],23,4259657740),o=Le(o,a,c,l,u[t+1],4,2763975236),l=Le(l,o,a,c,u[t+4],11,1272893353),c=Le(c,l,o,a,u[t+7],16,4139469664),a=Le(a,c,l,o,u[t+10],23,3200236656),o=Le(o,a,c,l,u[t+13],4,681279174),l=Le(l,o,a,c,u[t+0],11,3936430074),c=Le(c,l,o,a,u[t+3],16,3572445317),a=Le(a,c,l,o,u[t+6],23,76029189),o=Le(o,a,c,l,u[t+9],4,3654602809),l=Le(l,o,a,c,u[t+12],11,3873151461),c=Le(c,l,o,a,u[t+15],16,530742520),a=Le(a,c,l,o,u[t+2],23,3299628645),o=Re(o,a,c,l,u[t+0],6,4096336452),l=Re(l,o,a,c,u[t+7],10,1126891415),c=Re(c,l,o,a,u[t+14],15,2878612391),a=Re(a,c,l,o,u[t+5],21,4237533241),o=Re(o,a,c,l,u[t+12],6,1700485571),l=Re(l,o,a,c,u[t+3],10,2399980690),c=Re(c,l,o,a,u[t+10],15,4293915773),a=Re(a,c,l,o,u[t+1],21,2240044497),o=Re(o,a,c,l,u[t+8],6,1873313359),l=Re(l,o,a,c,u[t+15],10,4264355552),c=Re(c,l,o,a,u[t+6],15,2734768916),a=Re(a,c,l,o,u[t+13],21,1309151649),o=Re(o,a,c,l,u[t+4],6,4149444226),l=Re(l,o,a,c,u[t+11],10,3174756917),c=Re(c,l,o,a,u[t+2],15,718787259),a=Re(a,c,l,o,u[t+9],21,3951481745),o=Te(o,r),a=Te(a,n),c=Te(c,s),l=Te(l,i);return Fe(o)+Fe(a)+Fe(c)+Fe(l)}const De=e=>{if("string"!=typeof e&&!(e instanceof Uint8Array))return"";return Ue("string"==typeof e?xe.toUtf8Bytes(e):e)};var Ie={md5:De,md5Base64:e=>{const t=De(e);if(!t)return"";const r=je.hex2bytes(t);return Se.bytesToBase64(r)}};const Me=(e,t=!1)=>{const r=new Uint8Array(e);return t?Se.bytesToBase64(r):r.reduce(((e,t)=>e+String.fromCharCode(t)),"")};var Ke={...je,...Ee,...xe,...Se,...Ie,str2ab:(e="",t=!1)=>{if(t)return Se.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:Me,utf8ToBase64:e=>Y.isBrowser?btoa(e):Buffer.from(e,"utf-8").toString("base64"),base64ToUtf8:e=>Y.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]=Oe.random(256);return t},textEncode:e=>xe.toUtf8Bytes(e),textDecode:e=>xe.fromUtf8Bytes(new Uint8Array(e)),toDataUrl:(e,t="text/plain")=>e?"string"==typeof e?`data:${t};base64,`+Se.toBase64(e):Y.isArrayBuffer(e)?`data:${t};base64,`+Me(e,!0):"":""};const ze=e=>{try{const t=Ke.ab2str(e,!0);return t.match(/.{1,64}/g)?.join("\n")||""}catch(e){return""}},Ne=(e="",t="PUBLIC KEY")=>`-----BEGIN ${t}-----\n${e}\n-----END ${t}-----`;var Ve={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=ze(r),s=Ne(n,"PUBLIC KEY"),i=await window.crypto.subtle.exportKey("pkcs8",t.privateKey),o=ze(i);return{publicKey:n,publicKeyPem:s,privateKey:o,privateKeyPem:Ne(o,"PRIVATE KEY")}}catch(e){return console.error("generateKeys failed:",e),{publicKey:"",publicKeyPem:"",privateKey:"",privateKeyPem:""}}},format_pem_key:Ne,format_pem_content:ze,encrypt:async(e,t,r)=>{try{const n=(new TextEncoder).encode(t),s=await e.importKey("spki",Ke.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=Ke.concatBytes(...i);return Ke.bytesToBase64(o)}catch(e){return console.error("[debug] encrypt",e),""}},decrypt:async(e,t,r)=>{try{const n=Ke.base64ToBytes(t),s=await e.importKey("pkcs8",Ke.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=Ke.concatBytes(...i);return(new TextDecoder).decode(a)}catch(e){return console.error("decrypt failed:",e),""}}};const He=()=>e.webcrypto.subtle;var We={generateKeys:()=>Ve.generateKeys(He()),encrypt:async(e,t)=>Ve.encrypt(He(),e,t),decrypt:async(e,t)=>Ve.decrypt(He(),e,t),encode:async e=>Ve.encrypt(He(),e,Ve.RSAPublicKey),decode:async e=>Ve.decrypt(He(),e,Ve.RSAPrivateKey)};const Ze="undefined"!=typeof window?window.crypto.subtle:{};var Ye={generateKeys:()=>Ve.generateKeys(Ze),encrypt:async(e,t)=>Ve.encrypt(Ze,e,t),decrypt:async(e,t)=>Ve.decrypt(Ze,e,t),encode:async e=>Ve.encrypt(Ze,e,Ve.RSAPublicKey),decode:async e=>Ve.decrypt(Ze,e,Ve.RSAPrivateKey)};const Je=2654435769,Qe=(e,t)=>{let r=0;for(let n=0;n<32;n++)r=r+Je>>>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},Ge=(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-Je>>>0;return e},Xe=e=>{const t=Ke.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},et=(e,t)=>{const r=Ke.pkcs7Padding(e,8),n=Xe(t),s=[];for(let e=0;e<r.length;e+=8){const t=Ke.bytesToUint32(r.slice(e,e+8)),i=Qe(t,n);s.push(Ke.uint32ToBytes(i))}return Ke.concatBytes(...s)},tt=(e,t)=>{const r=Xe(t),n=[];for(let t=0;t<e.length;t+=8){const s=Ke.bytesToUint32(e.slice(t,t+8)),i=Ge(s,r);n.push(Ke.uint32ToBytes(i))}const s=Ke.concatBytes(...n);return Ke.pkcs7Unpadding(s)};var rt={TEAKey:"33576f37387276645054657a6831686e454664424e5652456f47794835795942",encrypt:Qe,decrypt:Ge,toTeaKey:Xe,encode:(e,t)=>{const r=Ke.textEncode(e),n=et(r,t);return Ke.bytesToBase64(n)},decode:(e,t)=>{const r=Ke.base64ToBytes(e),n=tt(r,t);return Ke.textDecode(n.buffer)},encodeBytes:et,decodeBytes:tt};function nt(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 st=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function it(e){return st.test(e)}const ot="\\ud800-\\udfff",at=`[${ot}]`,ct="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",lt="\\ud83c[\\udffb-\\udfff]",ut=`[^${ot}]`,ft="(?:\\ud83c[\\udde6-\\uddff]){2}",ht="[\\ud800-\\udbff][\\udc00-\\udfff]",dt=`${`(?:${ct}|${lt})`}?`,pt="[\\ufe0e\\ufe0f]?",gt=pt+dt+`(?:\\u200d(?:${[ut,ft,ht].join("|")})${pt+dt})*`,yt=`(?:${[`${ut}${ct}?`,ct,ft,ht,at].join("|")})`,mt=RegExp(`${lt}(?=${lt})|${yt+gt}`,"g");function bt(e){return it(e)?function(e){return e.match(mt)||[]}(e):function(e){return e.split("")}(e)}function wt(e){return t=>{if(!t)return"";const r=it(t)?bt(t):void 0,n=r?r[0]:t[0],s=r?nt(r,1).join(""):t.slice(1);return n[e]()+s}}const _t="\\ud800-\\udfff",vt="\\u2700-\\u27bf",xt="a-z\\xdf-\\xf6\\xf8-\\xff",At="A-Z\\xc0-\\xd6\\xd8-\\xde",St="\\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",kt="['’]",$t=`[${St}]`,Ct=`[${vt}]`,Ot=`[${xt}]`,jt=`[^${_t}${St+"\\d"+vt+xt+At}]`,Et="(?:\\ud83c[\\udde6-\\uddff]){2}",Pt="[\\ud800-\\udbff][\\udc00-\\udfff]",Tt=`[${At}]`,Bt=`(?:${Ot}|${jt})`,qt=`(?:${Tt}|${jt})`,Lt=`(?:${kt}(?:d|ll|m|re|s|t|ve))?`,Rt=`(?:${kt}(?:D|LL|M|RE|S|T|VE))?`,Ft="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ut="[\\ufe0e\\ufe0f]?",Dt=Ut+Ft+`(?:\\u200d(?:${[`[^${_t}]`,Et,Pt].join("|")})${Ut+Ft})*`,It=`(?:${[Ct,Et,Pt].join("|")})${Dt}`,Mt=RegExp([`${Tt}?${Ot}+${Lt}(?=${[$t,Tt,"$"].join("|")})`,`${qt}+${Rt}(?=${[$t,Tt+Bt,"$"].join("|")})`,`${Tt}?${Bt}+${Lt}`,`${Tt}+${Rt}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",It].join("|"),"g");const Kt=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 ]/),zt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Nt(e,t){if(void 0===t){const t=Kt(e)?function(e){return e.match(Mt)}(e):function(e){return e.match(zt)}(e);return t||[]}return e.match(t)||[]}function Vt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Vt(e)))}`;if(Y.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Ht=wt("toUpperCase"),Wt=wt("toLowerCase");var Zt={toString:Vt,startCase:e=>Nt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Ht(t)),""),snakeCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Ht(t):t))),""),upperCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Ht,lowerCase:e=>Nt(Vt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Wt,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}},toLines:(e,t="\n")=>e?e.split(t).map((e=>e.trim())).filter((e=>!!e)):[]};var Yt={logString:e=>{try{const t=JSON.stringify(e);return void 0===t?"":rt.encode(t,Ke.hex2str(rt.TEAKey))}catch(e){return""}},logParse:e=>{try{if(!e)return"";const t=rt.decode(e,Ke.hex2str(rt.TEAKey));return Zt.jsonFormat(t)}catch(e){return""}},logRString:async e=>{try{const t=JSON.stringify(e);if(void 0===t)return"";return Y.isBrowser?await Ye.encode(t):await We.encode(t)}catch(e){return""}},logRParse:async e=>{try{if(!e)return"";const t=Y.isBrowser?await Ye.decode(e):await We.decode(e);return Zt.jsonFormat(t)}catch(e){return""}}};const Jt=(e,t,r)=>e*(1-r)+t*r,Qt=(e,t,r)=>e===t?0:(r-e)/(t-e),Gt=(e,t,r)=>({x:Jt(e.x,t.x,r),y:Jt(e.y,t.y,r)}),Xt=(e,t,r,n)=>{const s=Gt(e,t,n),i=Gt(t,r,n);return Gt(s,i,n)},er=(e,t)=>{if(1===e.length)return e[0];const r=[];for(let n=0;n<e.length-1;n++)r.push({x:(1-t)*e[n].x+t*e[n+1].x,y:(1-t)*e[n].y+t*e[n+1].y});return er(r,t)},tr=(e,t)=>{if(0===t||t===e)return 1;let r=1;for(let n=1;n<=t;n++)r=r*(e-n+1)/n;return r};var rr={bezier1:Gt,bezier2:Xt,bezier3:(e,t,r,n,s)=>{const i=Xt(e,t,r,s),o=Xt(t,r,n,s);return Gt(i,o,s)},bezier:er,bezierCurve:(e,t)=>{const r=e.length-1;let n=0,s=0;for(let i=0;i<=r;i++){const o=tr(r,i)*Math.pow(1-t,r-i)*Math.pow(t,i);n+=o*e[i].x,s+=o*e[i].y}return{x:n,y:s}},lerp:Jt,lerpAverage:(e,t,r="")=>{if(e.length<=0)return 0;if(1===e.length)return e[0].x;if(2===e.length)return Jt(e[0].y,e[1].y,.5);const n=[],s=e.slice().sort(((e,t)=>e.x-t.x)),i=s.length,o=s[0].x,a=s[i-1].x;for(let e=o;e<=a;e+=t){let t=0;for(let n=0;n<i-1;n++){const i=s[n],o=s[n+1];if(e>=i.x&&e<=o.x){if("lerp"===r){const r=Qt(i.x,o.x,e);t=Gt(i,o,r).y}else t=i.y;break}}e>s[i-1].x&&(t=s[i-1].y),n.push(t)}return n.reduce(((e,t)=>e+t),0)/n.length},proportion:Qt};var nr={...ye,...Yt,...rr,sleep:ye.delay,run:async function(e,t=0){if(t<=0)return ye.safeRun(e);const r=t>0?Date.now():0,n=await ye.safeRun(e),s=Date.now()-r;return s<t&&await ye.delay(t-s),n},exec:(e,t="")=>ve.I.exec(e,t),debounce:ue,throttle:function(e,t=300,r={}){let n=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Y.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),ue(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new fe(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 ye.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await ye.delay(i)}while(-1===n||s>0)},pipe:(e,t)=>ve.I.pipeline.push(e,t),pipeline:(e=1)=>new _e(e),safeTask:(e,t)=>new we(e,t)};const sr=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]=sr(e[r]));return t};const ir=(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]=or(e[o],a,r)}return n},or=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?ir(e,t,r):ir({...e},t,r),n},ar=(e,t,r={})=>ir({...e},t,{cover:!0,...r}),cr=(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=>{cr(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&cr(e,t,r,n,s)},get:()=>i})};var lr={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:sr,merge:or,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:ar,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=ar(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:cr,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};const ur=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 f=(e=e.split(t)).length;u>0&&f>u&&(f=u);for(let t=0;t<f;++t){let n,o,a,u,f=e[t].replace(l,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,u=i?decodeURIComponent(o):o,S.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return lr.parseValue(c,{number:o,boolean:a}),c},fr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},hr=function(e,t=!0){return t?encodeURIComponent(e):e},dr=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},pr=/^(https?):\/\/([\w.\_\-]+)(?::(\d+))?/,gr=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}},yr=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(pr);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},mr=(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 br={parse:ur,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=hr(fr(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+hr(fr(e),s)})).join(t):dr(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+hr(fr(l),s)})).filter(Boolean).join(t):n?hr(fr(n),s)+r+hr(fr(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=yr(e),{origin:r="",url:n="",query:s=""}=t,i=gr(n),o=ur(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:gr,parseHost:yr,join:(...e)=>{const t=[];let r=!1;return e.forEach((e=>{const n=e.trim();if(""===n)return;if(/^(\w+):\/\//.test(n))return t.length=0,t.push(n),void(r=!0);n.split("/").forEach((e=>{"."!==e&&""!==e&&(".."===e?t.length>0&&".."!==t[t.length-1]?t.pop():r||t.push(".."):t.push(e))}))})),t.join("/")},shExpMatch:mr,isLocalIpAddress:e=>!!e&&!!(mr(e,"127.0.0.1")||mr(e,"localhost")||mr(e,"192.168.*.*")),parseFileUrl:e=>{const t={href:e,file:"",url:"",protocol:"",host:"",query:"",params:{}};if(!e)return t;let r=e?e.replace(/\\/g,"/"):"";r.startsWith("file://")&&!r.startsWith("file:///")?r="file:///"+r.slice(7):r.startsWith("file:/")&&!r.startsWith("file:///")&&(r="file:///"+r.slice(6));const n=r.match(/^file:\/\/(?:([^\/\\]+))?(\/.*)?$/);if(!n||n.length<3)return t;t.protocol="file:";const s=n[1]||"",i=n[2]||"";t.host=s;const o=i.split("?");return t.url=t.protocol+`//${t.host}`+o[0],t.file=o[0],t.query=o.length>1?o[1]:"",t.params=ur(t.query,{multiple:!0,uri:!1}),t}};class wr{_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 _r={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class vr{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/_r.oneSecond);let r=t.countdown;t.d=Math.floor(r/_r.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=_r.oneDay,t.h=Math.floor(r/_r.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=_r.oneHour,t.m=Math.floor(r/_r.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=_r.oneMinute,t.s=Math.floor(r/_r.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=_r.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>_r.oneHour?"hh:mm:ss":t.countdown>_r.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 xr=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?kr(e):e;return r?Ar(r).format(t):""},Ar=e=>{const t="string"==typeof e||"number"==typeof e?kr(e):e;return new vr(t||0)};function Sr({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(xr(Date.now(),o)).getTime()}function kr(e){if(!e)return;let t;return"string"==typeof e?t=new Date(e):"number"==typeof e&&(t=10==e.toString().length?new Date(1e3*e):new Date(e)),t}var $r={..._r,now:function(){return Ar(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:Sr,todayZero:()=>Sr({}),format:xr,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return Ar(r).toCountdown(t)},dtime:Ar,loopFrame:(e=500)=>new wr(e),getTimezoneOffset:()=>vr.timezoneOffset,getLocalTime:vr.getLocalTime,toDate:kr};const Cr=e=>Se.toBase64(e);var Or={encode:Cr,decode:e=>Se.fromBase64(e),encodeByOss:e=>Cr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var jr={...l,base64:Or,tea:rt,uuid:u,guid:(e,t=!1,r="")=>{const n=u(e||32);return t?$r.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 Er=(e,t,r=8)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;if(r<=0)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;switch(n){case"[object Array]":return Pr(e,t,r);case"[object Map]":return Tr(e,t,r);case"[object Set]":return Br(e,t,r);case"[object Object]":return qr(e,t,r);default:return Lr(e,t,n)}},Pr=(e,t,r=1/0)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Er(e[n],t[n],r-1))return!1;return!0},Tr=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const[n,s]of e)if(!t.has(n)||!Er(s,t.get(n),r-1))return!1;return!0},Br=(e,t,r=1/0)=>{if(e.size!==t.size)return!1;for(const n of e)if(![...t].some((e=>Er(n,e,r-1))))return!1;return!0},qr=(e,t,r=1/0)=>{const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!s.includes(i)||!Er(e[i],t[i],r-1))return!1;const i=Object.getOwnPropertySymbols(e),o=Object.getOwnPropertySymbols(t);if(i.length!==o.length)return!1;for(const n of i)if(!o.includes(n)||!Er(Reflect.get(e,n),Reflect.get(t,n),r-1))return!1;return!0},Lr=(e,t,r)=>{switch(r){case"[object RegExp]":return String(e)===String(t);case"[object Date]":return e.getTime()===t.getTime();case"[object ArrayBuffer]":return Rr(e,t);default:return e===t}},Rr=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0};var Fr={isEqual:Er,isEqualArray:Pr,isEqualObject:qr,isEqualValue:Lr,isEqualAB:Rr,isEqualDeep:(e,t)=>Er(e,t,1/0)};const Ur=(e,t=new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let r;if(Array.isArray(e)){r=[],t.set(e,r);for(const n of e)r.push(Ur(n,t))}else if(e instanceof Date)r=new Date(e);else if(e instanceof RegExp)r=new RegExp(e.source,e.flags);else if(e instanceof Map){r=new Map,t.set(e,r);for(const[n,s]of e.entries())r.set(Ur(n,t),Ur(s,t))}else if(e instanceof Set){r=new Set,t.set(e,r);for(const n of e.values())r.add(Ur(n,t))}else if("object"==typeof e){r={},t.set(e,r);for(const[n,s]of Object.entries(e))r[n]=Ur(s,t)}return r};var Dr={copy:(e,t={})=>{if(null==e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r||null===r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!0,...o}=t,a={},c=[{condition:o.ignoreNull,test:e=>null===e},{condition:o.ignoreZero,test:e=>0===e},{condition:o.ignoreEmptyArray,test:e=>Array.isArray(e)&&0===e.length},{condition:o.ignoreEmptyString,test:e=>"string"==typeof e&&""===e.trim()}].filter((e=>e.condition));for(const[e,t]of Object.entries(r)){const r=!s||i&&e.startsWith("_")?e:Zt.camelCase(e);n.length>0&&!n.includes(e)&&!n.includes(r)||(c.some((e=>e.test(t)))||(a[r]=t))}return a},clone:Ur,cloneClass:function(e){return null==e||"object"!=typeof e?e:Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}};const Ir=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;if("*"===t)return!0;const r=t.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp("^"+r+"$").test(e)};var Mr={shExpMatch:Ir,shExpMatchs:(e,t)=>{if(!e||!t)return!1;let r=[];if(Array.isArray(t))r=t;else{if("string"!=typeof t)return!1;r=[t]}for(const t of r){if("*"===t)return!0;if(Ir(e,t))return!0}return!1}};const Kr="[object Object]",zr="[object Array]",Nr=S.getTag,Vr=e=>{if(Nr(e)!==Kr)return e;const t={};for(const r in e)if(/\w+\.\w+/g.test(r)&&!r.includes("[")){const n=r.split(".");let s=t;for(let e=0;e<n.length-1;e++){const t=n[e];Nr(s[t])!==Kr&&(s[t]={}),s=s[t]}s[n[n.length-1]]=e[r]}else t[r]=e[r];return t},Hr=(e,t,r=!1)=>{if(e===t)return;const n=Nr(e);if(n===Nr(t))if(n===zr&&e.length>=t.length)for(let r=0;r<t.length;r++)Hr(e[r],t[r]);else if(n===Kr&&Object.keys(e).length>=Object.keys(t).length)for(const n in t)r||void 0!==e[n]?Hr(e[n],t[n]):e[n]=null},Wr=(e,t)=>Hr(e,t,!0),Zr=(e,t,r={},n="",s=!1)=>{if(e===t)return r;const i=Nr(e),o=Nr(t);if(i===zr&&o===i&&e.length>=t.length){for(let s=0;s<e.length;s++)Zr(e[s],t[s],r,`${n}[${s}]`,!1);return r}if(i===Kr&&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=Nr(s),c=Nr(o);if(s!==o)if(a===zr&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Zr(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`,!1);else if(a===Kr&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Zr(s[e],o[e],r,`${n?n+".":""}${i}.${e}`,!1);else null!==s&&(r[`${n?n+".":""}${i}`]=s)}return r}return r[n]=e,r};const Yr={...{...Fr,...Dr,...Mr,...{flattenPath:Vr,normalizeStructure:Wr,diffPath:(e,t)=>{const r=Vr(e),n=Vr(t);return Wr(r,n),Zr(r,n)}}},...Ke,...jr,...nr,...Zt,...Oe,...be,qs:br};var Jr={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)}};function Qr(e){return e!=e}function Gr(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 Xr,en,tn=(Xr=Object.keys,en=Object,function(e){return Xr(en(e))}),rn=Math.max;function nn(e,t){var r=Y.isArray(e)||Y.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&&!S.hasOwnProperty.call(e,i)||s&&("length"==i||Y.isIndex(i,n))||r.push(i);return r}var sn={...Y,...S,...lr,...be,includes:function(e,t,r,n){e=Y.isArrayLike(e)?e:function(e){return e?Gr(e,function(e){return Y.isArrayLike(e)?nn(e):function(e){if(!Y.isPrototype(e))return tn(e);var t=[];for(var r in Object(e))S.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?oe.toInteger(r):0;var s=e.length;return r<0&&(r=rn(s+r,0)),Y.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,Qr,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(Y.isObject(e)&&(r=Y.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var on={...{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]:[]}},stepAction:function(e,t,r=100){if(!Y.isFunction(t))return;if(!Y.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(!Y.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!Y.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!Y.isArray(e)||e.length<=0?[]:[...new Set(e)]},randoms:function(e,t=1,r=!1){const n=e.length||0;return Oe.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!Y.isObject(e))return;const s=e[t];(Y.isString(s)&&""!==s||Y.isNumber(s))&&(n[s]=e[r])})),n):n}};const an=/%[sdj%]/g;let cn=()=>{};function ln(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 un(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(an,(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 fn(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 hn(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&&(cn=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class dn extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function pn(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);hn(o,r,(e=>(n(e),e.length?i(new dn(e,ln(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 f=e=>{if(l.push.apply(l,e),c++,c===a)return n(l),l.length?u(new dn(l,ln(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?hn(n,r,f):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,f)}))}));return u.catch((e=>e)),u}function gn(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],(s=r)&&void 0!==s.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var s}}function yn(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 mn=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!fn(t,i||e.type)||n.push(un(s.messages.required,e.fullField))};let bn;const wn=/^(([^<>()\[\]\\.,;:\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,}))$/,_n=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,vn={integer:e=>vn.number(e)&&parseInt(e,10)===e,float:e=>vn.number(e)&&!vn.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&&!vn.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(wn),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(bn)return bn;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 bn=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"),bn})()),hex:e=>"string"==typeof e&&!!e.match(_n)},xn="enum";var An={required:mn,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(un(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void mn(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?vn[i](t)||n.push(un(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(un(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 f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(c,"_").length),i?l!==e.len&&n.push(un(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(un(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(un(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(un(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[xn]=Array.isArray(e[xn])?e[xn]:[],-1===e[xn].indexOf(t)&&n.push(un(s.messages[xn],e.fullField,e[xn].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(un(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(un(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Sn=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(fn(t,i)&&!e.required)return r();An.required(e,t,n,o,s,i),fn(t,i)||An.type(e,t,n,o,s)}r(o)};var kn={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(fn(t,"string")&&!e.required)return r();An.required(e,t,n,i,s,"string"),fn(t,"string")||(An.type(e,t,n,i,s),An.range(e,t,n,i,s),An.pattern(e,t,n,i,s),!0===e.whitespace&&An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&An.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),fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&(An.type(e,t,n,i,s),An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),fn(t)||An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&(An.type(e,t,n,i,s),An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&(An.type(e,t,n,i,s),An.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();An.required(e,t,n,i,s,"array"),null!=t&&(An.type(e,t,n,i,s),An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s),void 0!==t&&An.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(fn(t,"string")&&!e.required)return r();An.required(e,t,n,i,s),fn(t,"string")||An.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(fn(t,"date")&&!e.required)return r();if(An.required(e,t,n,i,s),!fn(t,"date")){let r;r=t instanceof Date?t:new Date(t),An.type(e,r,n,i,s),r&&An.range(e,r.getTime(),n,i,s)}}r(i)},url:Sn,hex:Sn,email:Sn,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;An.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(fn(t)&&!e.required)return r();An.required(e,t,n,i,s)}r(i)}};function $n(){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 Cn=$n();class On{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");kn[e]=t};static warning=cn;static messages=Cn;static validators=kn;rules={};_messages=Cn;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=yn($n(),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===Cn&&(e=$n()),yn(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 pn(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&&On.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(gn(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(gn(r,n)):s.error&&(u=[s.error(r,un(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 On(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=ln(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&&!kn.hasOwnProperty(e.type))throw new Error(un("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]?kn.required:kn[this.getType(e)]||void 0}}function jn(e){return new On(e)}var En={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:jn,validate:function(e,t,r={},n=(()=>{})){return nr.run(jn(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)}};const Pn={gbk:Jr,math:Oe,list:on,string:Zt,time:$r,obj:lr,rule:En,regex:{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})$/}},...Ke,...jr,...sn,Event:f},Tn="[object Object]",Bn="[object Array]",qn=e=>Object.prototype.toString.call(e),Ln=(e,t,r=!1)=>{if(e===t)return;const n=qn(e);if(n===qn(t))if(n===Bn&&e.length>=t.length)for(let r=0;r<t.length;r++)Ln(e[r],t[r]);else if(n===Tn&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?Ln(e[n],t[n]):e[n]=null},Rn=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=qn(e),o=qn(t);if(i===Bn&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)Rn(e[s],t[s],r,`${n}[${s}]`);else if(i===Tn&&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=qn(s),c=qn(o);if(s!==o)if(a===Bn&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)Rn(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===Tn&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)Rn(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class Fn{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 Un{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new Fn,response:new Fn};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){Un.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Un.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=lr.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(Un.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await Un.requestLock[Un.blockId].request;else if(Un.requestLock[Un.blockId]&&Un.requestLock[Un.blockId].lock&&await Un.requestLock[Un.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Un.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await Un.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 Dn=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var In={diff:function(e,t){const r={};return(e=>{if(qn(e)===Tn)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];qn(n[t])!==Tn&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),Ln(e,t,!0),Rn(e,t,r,"",!0),r},promixify:Dn,run:(e,t={})=>e?nr.run(Dn(e)(t)):nr.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:Un,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;lr.observe(s,o,a,e,c)}))}};const Mn=e=>{if(!e)return"";if(!sn.isObject(e))return"";let t="";return sn.forof(e,((e,r)=>{r&&(t+=`${Zt.kebabCase(e)}:${r};`)})),t},Kn=["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"],zn=["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:En.isFloat(e.toString())?`${e}${t}`:e:e;var Vn={stringify:Mn,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=br.parse(e,{sep:";",eq:":",uri:!1}),s={};return sn.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:Zt.camelCase(e):e;En.isFloat(n)||n.length>=2&&n.startsWith(".")&&En.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:Nn,style:(e,t="px")=>{if(!e)return"";const r=sn.copy(e,{fields:Kn});sn.forof(r,((e,n)=>{(zn.includes(e)||zn.includes(Zt.camelCase(e)))&&(r[e]=Nn(n,t))}));return Mn(r)},commonFields:Kn};const Hn=(e,t="",r=!1)=>{try{if(!e)return;const n=br.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}?${br.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){Wn(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},Wn=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;Hn(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},Zn=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}},Yn=(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)))})),Jn=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e,Qn=(e,t)=>{if(!e||!t)return[];const r=[];let n;for(;null!==(n=t.exec(e));)r.push(n[1]);return r},Gn=(e,t="application/javascript")=>{const r=new Blob([e],{type:t});return URL.createObjectURL(r)};var Xn={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:Hn,download:(e,t="")=>{e&&("string"!=typeof e?Wn(e,t):Hn(e,t))},downloadFile:Wn,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();Hn(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?Yn("clipboard-write").then((t=>{Jn(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(Zn(e)))):r(Zn(e))})).catch((()=>{r(Zn(e))})):r(Zn(e))})),queryPermission:Yn,isAllowed:Jn,legacyCopy:Zn,takeHtmlLinks:e=>{if(!e)return[];const t=[];return[/<script[^>]+src="([^"]+)"/g,/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"/g,/<link[^>]+rel="icon"[^>]+href="([^"]+)"/g].forEach((r=>{const n=Qn(e,r);t.push(n)})),[].concat(...t)},takeHtml:Qn,toBlobUrl:Gn,workerURL:e=>Gn(`(${e.toString()})()`,"text/javascript"),getVideoMetadata:(e,t=3e4)=>new Promise(((r,n)=>{const s=document.createElement("video");let i=null,o=null;const a=e=>{o&&clearTimeout(o),o=null,s.onerror=null,s.onloadedmetadata=null,s.remove(),i&&URL.revokeObjectURL(i),e&&n(e)};if(o=setTimeout((()=>{a(new Error(`操作超时(${t}ms)`))}),t),e instanceof File||e instanceof Blob||e instanceof MediaSource)i=URL.createObjectURL(e),s.src=i;else{if("string"!=typeof e)return void a(new Error("无效的视频源类型"));s.crossOrigin="anonymous",s.src=e}s.onloadedmetadata=()=>{r({width:s.videoWidth||0,height:s.videoHeight||0,duration:s.duration||0}),a()},s.onerror=e=>{a(new Error(`视频加载失败: ${e?.target?.error?.message||"未知错误"}`))}}))};const es=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,${Or.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}`}},ts={mini:In,css:Vn,qs:br,icon:es,html:Xn},rs=({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 ns(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ss(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(sn.isPlainObject(e)){const r=br.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 is{host="";reqConfig={};handleError;interceptors={request:new Fn,response:new Fn};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ss),this.interceptors.response.use(e.handleResponse||ns),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){is.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete is.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=sn.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(is.blockId,(()=>rs(s))),i=await is.requestLock[is.blockId].request;else if(is.requestLock[is.blockId]&&is.requestLock[is.blockId].lock&&await is.requestLock[is.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),is.requestLock[e]||this.lockR(e,(()=>rs(s))),i=await is.requestLock[e].request,this.unlockR(e)}else i=await rs(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)}}}var os={getDataURL:(e,t)=>{const r={contentType:"",dataUrl:""};return ye.to(fetch(e,{cache:t}).then((e=>(r.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(r.dataUrl=`data:${r.contentType};base64,`+Ke.ab2str(e,!0),r))))},getArrayBuffer:async(e,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.arrayBuffer()))),getJson:async(e,t)=>ye.to(fetch(e,{cache:t}).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=Oe.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,t)=>ye.to(fetch(e,{cache:t}).then((e=>e.text()))),cache:async(e,t="no-cache")=>ye.to(fetch(e,{cache:t}).then((()=>!0)))};class as{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 Ke.ab2str(r,!0)}async importKey(e,t="raw",r=[]){const n=Ke.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=Ke.base64ToBytes(r),s=Ke.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s);return Ke.ab2str(i,!0)}async encodeiv(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv,n=r?Ke.base64ToBytes(r):Ke.getRandomBytes(12),s=Ke.textEncode(e),i=await this.__subtle.encrypt({name:"AES-GCM",iv:n},this.__sharedSecret,s),o=Ke.concatBytes(new Uint8Array(i),n);return Ke.bytesToBase64(o)}async decode(e,t){if(!this.__sharedSecret)return"";const r=t||this.iv;if(!r)return"";const n=Ke.base64ToBytes(e),s=Ke.base64ToBytes(r),i=await this.__subtle.decrypt({name:"AES-GCM",iv:s},this.__sharedSecret,n);return Ke.textDecode(i)}async decodeiv(e){if(!this.__sharedSecret)return"";const t=Ke.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 Ke.textDecode(s)}}const cs={fetch:os,Http:is,css:Vn,qs:br,icon:es,html:Xn,rsa:Ye,...{Ecdh:as}};var ls={brotliCompress:function(e,r=t.constants.BROTLI_DEFAULT_QUALITY){try{if(!e)return"";const n=Ke.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=Ke.base64ToBytes(e);return t.brotliDecompressSync(r).toString("utf-8")}catch(t){return e||""}}};var us={child_exec:e=>new Promise((t=>{if(!e)return t([null,""]);s(e,((e,r)=>{t(e?[e||"error",""]:[null,r||""])}))}))};const fs=()=>{try{return"win32"===process.platform?hs():"darwin"===process.platform?ds():"linux"===process.platform?ps():void 0}catch(e){return}},hs=async()=>{do{const[e,t]=await us.child_exec('reg query "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"');if(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)},ds=async()=>{do{const[e,t]=await us.child_exec('networksetup -getwebproxy "Wi-Fi"');if(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)},ps=async()=>{do{const[e,t]=await us.child_exec("env | grep https_proxy");if(e)break;const r=(t||"").trim();if(!r)return;const n=r.match(/:\/\/([^:]+):(\d+)/);if(!n)break;const s=n[1],i=+(n[2]||"");if(!s||!i)break;return{ipaddress:s,port:i}}while(0)},gs=(e,t=["*"],r="DIRECT",n=[])=>{const s=e||r||"DIRECT",i=r||"DIRECT",o=`\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 = "${s}";\n var _default = "${i}";\n var _directs = ${JSON.stringify(n)};\n\n for (var i = 0; i < _rules.length; i++) {\n if (shExpMatch(host, _rules[i])) {\n return _proxy;\n }\n }\n\n for (var j = 0; j < _directs.length; j++) {\n if (shExpMatch(host, _directs[j])) {\n return "DIRECT";\n }\n }\n\n return _default;\n }\n `;return Ke.toDataUrl(o,"application/x-ns-proxy-autoconfig")},ys=(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 ms={getSystemProxy:fs,toPacScript:gs,toPacProxy:ys,pacScript:async(e,t,r)=>{const{type:n="SOCKS5",rules:s=["*"],useSystem:i}=r||{},o=ys(e,t,{type:n});if(!o)return"";let a;if(i){const e=await fs();e&&(a=ys(e?.ipaddress||"",e?.port||0,{direct:!0}))}return gs(o,s||[],a)},getPacScript:async e=>{const{type:t="SOCKS5",rules:r=["*"],useSystem:n,address:s="",port:i=0,directs:o=[]}=e||{},a=ys(s,i,{type:t});let c;if(n){const e=await fs();e&&(c=ys(e?.ipaddress||"",e?.port||0,{direct:!0}))}return gs(a,r||[],c,o)}};const bs=(e,t)=>new Promise(((r,n)=>{i.readdir(e,(async(s,i)=>{if(s)return n(s);r(ws(e,i,t))}))})),ws=async(e,t,r)=>{for(let n of t){const t=`${e}\\${n}`;i.lstatSync(t).isDirectory()?await bs(`${t}`,r):r&&await r(t)}};var _s={...{readDirectory:bs,readFiles:ws},...ls,...us,...ms,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=Ke.base64ToBytes(n),i=e.createCipheriv("aes-256-gcm",Ke.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?Ke.base64ToBytes(n):Ke.getRandomBytes(12),i=e.createCipheriv("aes-256-gcm",Ke.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",Ke.base64ToBytes(this.sharedSecret),Ke.base64ToBytes(n)),i=Ke.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=Ke.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",Ke.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 as{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;__rules=[];constructor(e,t=!1,r){this.__event=new f,this.upstreamProxy=this.filterProxyConfigs(e),this._updateRules(),this.__debug=t,this.__uuid=u(),this.__pipeline=new _e(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}get rules(){return this.__rules}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.setupServer(t),t):0}setupServer(e){try{return!!e&&(this.__port=e,this.server=r.createServer((e=>this.handleSocksConnection(e))),this.server.listen(e,(()=>{this.__debug&&this.__logger?.info(`[socks5] server is running on port ${e}`)})),this.server.on("error",(e=>{this.__logger?.error("[socks5] server error:",e),this.close()})),this.server.on("close",(()=>{this.__debug&&this.__logger?.info("[socks5] server closed")})),!0)}catch(e){return this.__debug&&this.__logger?.info("[socks5] setupServer error:",e),!1}}restart(){this.__debug&&console.info("[socks5] server restart");const e=this.__port;return!!e&&(this.close(),this.setupServer(e))}setUpstreamProxy(e){if(!e)return!1;const t=this.filterProxyConfigs(e);return!(!t||t.length<=0)&&(this.upstreamProxy=t,this._updateRules(),!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] connection",t);const s=this.findProxyConfig(n);if(s){const n=await this.connectToUpstreamProxy(r,s);this.__logger?.info(`[socks5] connection upstream ${t}, use ${s.ipaddress}:${s.port}`),this.setupDataForwarding(e,n,"upstream")}else if(this.useSystemProxy&&this.systemProxy&&!br.isLocalIpAddress(n)){const n=await this.connectToSystemProxy(r);this.__debug&&console.info("[socks5] connection system",t),this.setupDataForwarding(e,n,"system")}else{this.__debug&&console.info("[socks5] 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()}))}findProxyConfig(e){if(!br.isLocalIpAddress(e))for(const t of this.upstreamProxy)if(this.isAllowedDomain(e,t.rules||[]))return t}isAllowedDomain(e,t){if(br.isLocalIpAddress(e))return!1;if(!t||!Array.isArray(t))return!1;for(const r of t){if("*"===r)return!0;if(br.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){}}_updateRules(){this.upstreamProxy&&(this.__rules=on.distinct(this.upstreamProxy.reduce(((e,t)=>e.concat(t?.rules||[])),[])))}},rsa:We};const vs={..._s};var xs={ossImage:(e,t={})=>{if(!e)return e;const r=br.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=on.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=br.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=>Se.toBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};const As={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Ss=e=>(...t)=>{const r=console[e];As.overrode?r(...t):ks(r,e,...t)},ks=(e,t,...r)=>{const n=$r.format(new Date,As.format),s=As.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 $s={override:()=>{if(As.overrode)return;As.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{ks(t,e,...r)}}))},log:Ss("log"),info:Ss("info"),warn:Ss("warn"),error:Ss("error"),config:({tag:e=As.tag,format:t=As.format}={})=>{As.tag=e,As.format=t}};class Cs{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=nr.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=lr.copy(e,{fields:this.fields});this.save(r)}}class Os extends f{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!Y.isFunction(n))return;const[,s]=await nr.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=lr.copy(t);else{const[,t]=await nr.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){Y.isObject(t)&&(t=lr.copy(t)),this[e]=t}}const js=(e,t)=>{const r=Object.assign(new Os,e||{});r.__persist=new Cs(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 Y.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(Y.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 Es{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=br.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=br.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=br.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=br.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}class Ps{__list=[];constructor(){this.clear()}add(e){const t=nr.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 Ts=new class{state=js(new Os);frame=new wr;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||$r.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&&!$r.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=sn.copy(r);sn.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||$r.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};parallel=()=>new Ps};class Bs{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=$r.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=$r.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const qs=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 Bs;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=lr.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 on.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)))}},Ls={cdn:xs,watermark:(e,t)=>new Es(e,t)},Rs={Store:Os,storeRef:js,Persist:Cs,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r})},Fs=Ts,Us=qs,Ds=$s;export{f as Event,h as KValue,d as Mapping,Ls as dCdn,Yr as dHook,Fs as dJoker,Ds as dLogger,ts as dMini,vs as dNode,Rs as dStore,Us as dTracker,Pn as dUtil,cs as dWeb};
|