ddan-js 2.5.3 → 2.5.5

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.
@@ -1 +1 @@
1
- var e;e||(e={});var t={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({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(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",q=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=q}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?q:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,P=/^\s+|\s+$/g,T=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(P,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):T.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}async function K(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const X=e=>{try{let t;return t=R.isFunction(e)?e():e,K(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Q={to:K,go:e=>X(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeDo:X};class ee{__source;constructor(e){this.__source=e}run=()=>Q.safeDo(this.__source);static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new ee(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new ee(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new ee(e).run();const s=await n;return this._unlock(t),s}}class te{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var re={...Q,sleep:Q.delay,run:async function(e,t=0){if(t<=0)return Q.safeDo(e);const r=t>0?Date.now():0,n=await Q.safeDo(e),s=Date.now()-r;return s<t&&await Q.delay(t-s),n},exec:(e,t="")=>ee.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new te(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 Q.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Q.delay(i)}while(-1===n||s>0)}};function ne(e){return Math.floor(Math.random()*e)}function se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ie=180/Math.PI;var oe={random:ne,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=ne(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ie},degree2radian:function(e){return e/ie},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ae(e){return e!=e}function ce(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 le,ue,fe=(le=Object.keys,ue=Object,function(e){return le(ue(e))}),he=Math.max;function de(e,t){var r=R.isArray(e)||R.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&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ge(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const pe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function me(e){return pe.test(e)}const ye="\\ud800-\\udfff",we=`[${ye}]`,be="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ve="\\ud83c[\\udffb-\\udfff]",_e=`[^${ye}]`,$e="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",ke=`${`(?:${be}|${ve})`}?`,Se="[\\ufe0e\\ufe0f]?",Ae=Se+ke+`(?:\\u200d(?:${[_e,$e,xe].join("|")})${Se+ke})*`,qe=`(?:${[`${_e}${be}?`,be,$e,xe,we].join("|")})`,je=RegExp(`${ve}(?=${ve})|${qe+Ae}`,"g");function Ce(e){return me(e)?function(e){return e.match(je)||[]}(e):function(e){return e.split("")}(e)}function Oe(e){return t=>{if(!t)return"";const r=me(t)?Ce(t):void 0,n=r?r[0]:t[0],s=r?ge(r,1).join(""):t.slice(1);return n[e]()+s}}const Le="\\ud800-\\udfff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Re="\\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",De="['’]",Pe=`[${Re}]`,Te=`[${Ee}]`,ze=`[${Fe}]`,Ie=`[^${Le}${Re+"\\d"+Ee+Fe+Me}]`,Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue=`[${Me}]`,Ve=`(?:${ze}|${Ie})`,He=`(?:${Ue}|${Ie})`,We=`(?:${De}(?:d|ll|m|re|s|t|ve))?`,Ze=`(?:${De}(?:D|LL|M|RE|S|T|VE))?`,Je="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ge="[\\ufe0e\\ufe0f]?",Ye=Ge+Je+`(?:\\u200d(?:${[`[^${Le}]`,Ne,Be].join("|")})${Ge+Je})*`,Ke=`(?:${[Te,Ne,Be].join("|")})${Ye}`,Xe=RegExp([`${Ue}?${ze}+${We}(?=${[Pe,Ue,"$"].join("|")})`,`${He}+${Ze}(?=${[Pe,Ue+Ve,"$"].join("|")})`,`${Ue}?${Ve}+${We}`,`${Ue}+${Ze}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ke].join("|"),"g");const Qe=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 ]/),et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function tt(e,t){if(void 0===t){const t=Qe(e)?function(e){return e.match(Xe)}(e):function(e){return e.match(et)}(e);return t||[]}return e.match(t)||[]}function rt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:rt(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const nt=Oe("toUpperCase"),st=Oe("toLowerCase");var it={toString:rt,startCase:e=>tt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+nt(t)),""),snakeCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?nt(t):t))),""),upperCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:nt,lowerCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:st,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}};const ot=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]=ot(e[r]));return t};const at=(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]=ct(e[o],a,r)}return n},ct=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?at(e,t,r):at({...e},t,r),n},lt=(e,t,r={})=>at({...e},t,{cover:!0,...r}),ut=(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=>{ut(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ut(e,t,r,n,s)},get:()=>i})};var ft={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:it.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:ot,merge:ct,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]=it.parseValue(n,{number:t,boolean:r});else e[n]=it.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:lt,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=lt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ut,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};class ht{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var dt={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ht;return void 0!==e&&t.set(e),t}};var gt={...R,...x,...ft,...dt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ce(e,function(e){return R.isArrayLike(e)?de(e):function(e){if(!R.isPrototype(e))return fe(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=he(s+r,0)),R.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,ae,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var pt={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var mt={...pt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.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(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.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||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const yt="[object Object]",wt="[object Array]",bt=e=>Object.prototype.toString.call(e),vt=(e,t,r=!1)=>{if(e===t)return;const n=bt(e);if(n===bt(t))if(n===wt&&e.length>=t.length)for(let r=0;r<t.length;r++)vt(e[r],t[r]);else if(n===yt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?vt(e[n],t[n]):e[n]=null},_t=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=bt(e),o=bt(t);if(i===wt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)_t(e[s],t[s],r,`${n}[${s}]`);else if(i===yt&&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=bt(s),c=bt(o);if(s!==o)if(a===wt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)_t(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===yt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)_t(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class $t{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 xt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new $t,response:new $t};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){xt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete xt.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=ft.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(xt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.requestLock[xt.blockId].request;else if(xt.requestLock[xt.blockId]&&xt.requestLock[xt.blockId].lock&&await xt.requestLock[xt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),xt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.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 kt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var St={diff:function(e,t){const r={};return(e=>{if(bt(e)===yt)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];bt(n[t])!==yt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),vt(e,t,!0),_t(e,t,r,"",!0),r},promixify:kt,run:(e,t={})=>e?re.run(kt(e)(t)):re.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:xt,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;ft.observe(s,o,a,e,c)}))}};const At=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,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return ft.parseValue(c,{number:o,boolean:a}),c},qt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},jt=function(e,t=!0){return t?encodeURIComponent(e):e},Ct=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Ot=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Lt=e=>{if(!e)return;const t=e.match(Ot);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],host:`${t[2]}${r?":"+r:""}`,port:r}};var Et={parse:At,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=jt(qt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+jt(qt(e),s)})).join(t):Ct(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+jt(qt(l),s)})).filter(Boolean).join(t):n?jt(qt(n),s)+r+jt(qt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Lt(e);n&&(t=n.host,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=At(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Lt,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Ft=/%[sdj%]/g;let Mt=()=>{};function Rt(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 Dt(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(Ft,(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 Pt(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 Tt(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&&(Mt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class zt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function It(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);Tt(o,r,(e=>(n(e),e.length?i(new zt(e,Rt(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 zt(l,Rt(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Tt(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 Nt(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Bt(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 Ut=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Pt(t,i||e.type)||n.push(Dt(s.messages.required,e.fullField))};let Vt;const Ht=/^(([^<>()\[\]\\.,;:\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,}))$/,Wt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Zt={integer:e=>Zt.number(e)&&parseInt(e,10)===e,float:e=>Zt.number(e)&&!Zt.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&&!Zt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ht),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Vt)return Vt;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 Vt=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"),Vt})()),hex:e=>"string"==typeof e&&!!e.match(Wt)},Jt="enum";var Gt={required:Ut,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Dt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Ut(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Zt[i](t)||n.push(Dt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Dt(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(Dt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Dt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Dt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Dt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Jt]=Array.isArray(e[Jt])?e[Jt]:[],-1===e[Jt].indexOf(t)&&n.push(Dt(s.messages[Jt],e.fullField,e[Jt].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(Dt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Dt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Yt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Pt(t,i)&&!e.required)return r();Gt.required(e,t,n,o,s,i),Pt(t,i)||Gt.type(e,t,n,o,s)}r(o)};var Kt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Pt(t,"string")&&!e.required)return r();Gt.required(e,t,n,i,s,"string"),Pt(t,"string")||(Gt.type(e,t,n,i,s),Gt.range(e,t,n,i,s),Gt.pattern(e,t,n,i,s),!0===e.whitespace&&Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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),Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),Pt(t)||Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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();Gt.required(e,t,n,i,s,"array"),null!=t&&(Gt.type(e,t,n,i,s),Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Pt(t,"string")&&!e.required)return r();Gt.required(e,t,n,i,s),Pt(t,"string")||Gt.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(Pt(t,"date")&&!e.required)return r();if(Gt.required(e,t,n,i,s),!Pt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Gt.type(e,r,n,i,s),r&&Gt.range(e,r.getTime(),n,i,s)}}r(i)},url:Yt,hex:Yt,email:Yt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Gt.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(Pt(t)&&!e.required)return r();Gt.required(e,t,n,i,s)}r(i)}};function Xt(){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 Qt=Xt();class er{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Kt[e]=t};static warning=Mt;static messages=Qt;static validators=Kt;rules={};_messages=Qt;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=Bt(Xt(),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===Qt&&(e=Xt()),Bt(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 It(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&&er.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(Nt(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(Nt(r,n)):s.error&&(u=[s.error(r,Dt(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 er(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=Rt(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&&!Kt.hasOwnProperty(e.type))throw new Error(Dt("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]?Kt.required:Kt[this.getType(e)]||void 0}}function tr(e){return new er(e)}var rr={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:tr,validate:function(e,t,r={},n=(()=>{})){return re.run(tr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var nr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const sr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,ir=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=or(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+sr.charAt(s)+sr.charAt(i)+sr.charAt(o)+sr.charAt(a);return c},or=e=>{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},ar=e=>{let t="",r=0,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};var cr={encode:ir,decode: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=sr.indexOf(e.charAt(l++)),i=sr.indexOf(e.charAt(l++)),o=sr.indexOf(e.charAt(l++)),a=sr.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=ar(c),c},encodeByOss:e=>ir(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var lr={...i,base64:cr,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const ur=e=>{if(!e)return"";if(!gt.isObject(e))return"";let t="";return gt.forof(e,((e,r)=>{r&&(t+=`${it.kebabCase(e)}:${r};`)})),t},fr=["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"],hr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],dr=(e,t="px")=>e&&t?"0"===e?e:rr.isFloat(e.toString())?`${e}${t}`:e:e;var gr={stringify:ur,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Et.parse(e,{sep:";",eq:":",uri:!1}),s={};return gt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:it.camelCase(e):e;rr.isFloat(n)||n.length>=2&&n.startsWith(".")&&rr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:dr,style:(e,t="px")=>{if(!e)return"";const r=gt.copy(e,{fields:fr});gt.forof(r,((e,n)=>{(hr.includes(e)||hr.includes(it.camelCase(e)))&&(r[e]=dr(n,t))}));return ur(r)},commonFields:fr};const pr=(e,t="",r=!1)=>{try{if(!e)return;const n=Et.parseUrl(e),s=t||n.filename;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.path}?${Et.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){mr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},mr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;pr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},yr=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}},wr=(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)))})),br=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var vr={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:pr,download:(e,t="")=>{e&&("string"!=typeof e?mr(e,t):pr(e,t))},downloadFile:mr,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();pr(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?wr("clipboard-write").then((t=>{br(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(yr(e)))):r(yr(e))})).catch((()=>{r(yr(e))})):r(yr(e))})),queryPermission:wr,isAllowed:br,legacyCopy:yr};var _r={ossImage:(e,t={})=>{if(!e)return e;const r=Et.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=mt.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=Et.parseUrl(e).path,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(",")}`}};var $r={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const xr=({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 kr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function Sr(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(gt.isPlainObject(e)){const r=Et.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 Ar{host="";reqConfig={};handleError;interceptors={request:new $t,response:new $t};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(Sr),this.interceptors.response.use(e.handleResponse||kr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){Ar.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Ar.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=gt.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(Ar.blockId,(()=>xr(s))),i=await Ar.requestLock[Ar.blockId].request;else if(Ar.requestLock[Ar.blockId]&&Ar.requestLock[Ar.blockId].lock&&await Ar.requestLock[Ar.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Ar.requestLock[e]||this.lockR(e,(()=>xr(s))),i=await Ar.requestLock[e].request,this.unlockR(e)}else i=await xr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const qr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},jr=e=>(...t)=>{const r=console[e];qr.overrode?r(...t):Cr(r,e,...t)},Cr=(e,t,...r)=>{const n=g.format(new Date,qr.format),s=qr.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 Or={override:()=>{if(qr.overrode)return;qr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Cr(t,e,...r)}}))},log:jr("log"),info:jr("info"),warn:jr("warn"),error:jr("error"),config:({tag:e=qr.tag,format:t=qr.format}={})=>{qr.tag=e,qr.format=t}};var Lr={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Q.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+$r.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>Q.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Q.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=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)}))))};const Er=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,${cr.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}`}},Fr=(e,t,r)=>({key:e,fields:t,storage:r});class Mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=re.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=ft.copy(e,{fields:this.fields});this.save(r)}}class Rr extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await re.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=ft.copy(t);else{const[,t]=await re.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=ft.copy(t)),this[e]=t}}const Dr=(e,t)=>{const r=Object.assign(new Rr,e||{});r.__persist=new Mr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.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 Pr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Et.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Et.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=lr.base64.encodeByOss(n),i=Et.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=lr.base64.encodeByOss(e),i=Et.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Tr=(e,t)=>new Pr(e,t);class zr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>re.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await re.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await re.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Ir{__list=[];constructor(){this.clear()}add(e){const t=re.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 Nr=new class{state=Dr(new Rr);frame=new c;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||g.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&&!g.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=gt.copy(r);gt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new zr;parallel=()=>new Ir};class Br{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Ur=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 Br;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=ft.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 mt.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)))}},Vr={gbk:t,math:oe,list:mt,string:it,time:g,obj:ft,crypto:lr,convert:$r,rule:rr,regex:nr,...gt,Event:a},Hr={...$r,...lr,...re},Wr={mini:St,css:gr,qs:Et,icon:Er,html:vr},Zr={cdn:_r,watermark:Tr},Jr={Store:Rr,storeRef:Dr,Persist:Mr,persistConfig:Fr},Gr=Nr,Yr=Ur,Kr=Or,Xr={fetch:Lr,Http:Ar,css:gr,qs:Et,icon:Er,html:vr};var Qr={gbk:t,time:g,hook:re,math:oe,util:gt,list:mt,string:it,obj:ft,crypto:lr,mini:St,qs:Et,css:gr,cdn:_r,html:vr,icon:Er,rule:rr,regex:nr,convert:$r,Event:a,Http:Ar,Store:Rr,storeRef:Dr,Persist:Mr,persistConfig:Fr,watermark:Tr,joker:Nr,tracker:Ur,logger:Or,fetch:Lr};export{e as Ddan,Zr as dCdn,Hr as dHook,Gr as dJoker,Kr as dLogger,Wr as dMini,Jr as dStore,Yr as dTracker,Vr as dUtil,Xr as dWeb,Qr as default};
1
+ var e;e||(e={});var t={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({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(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",q=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=q}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?q:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,P=/^\s+|\s+$/g,T=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(P,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):T.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}async function K(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const X=e=>{try{let t;return t=R.isFunction(e)?e():e,K(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Q={to:K,go:e=>X(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeDo:X};class ee{__source;constructor(e){this.__source=e}run=()=>Q.safeDo(this.__source);static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new ee(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new ee(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new ee(e).run();const s=await n;return this._unlock(t),s}}class te{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var re={...Q,sleep:Q.delay,run:async function(e,t=0){if(t<=0)return Q.safeDo(e);const r=t>0?Date.now():0,n=await Q.safeDo(e),s=Date.now()-r;return s<t&&await Q.delay(t-s),n},exec:(e,t="")=>ee.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new te(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 Q.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Q.delay(i)}while(-1===n||s>0)}};function ne(e){return Math.floor(Math.random()*e)}function se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ie=180/Math.PI;var oe={random:ne,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=ne(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ie},degree2radian:function(e){return e/ie},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ae(e){return e!=e}function ce(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 le,ue,fe=(le=Object.keys,ue=Object,function(e){return le(ue(e))}),he=Math.max;function de(e,t){var r=R.isArray(e)||R.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&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ge(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const pe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function me(e){return pe.test(e)}const ye="\\ud800-\\udfff",we=`[${ye}]`,be="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ve="\\ud83c[\\udffb-\\udfff]",_e=`[^${ye}]`,$e="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",ke=`${`(?:${be}|${ve})`}?`,Se="[\\ufe0e\\ufe0f]?",Ae=Se+ke+`(?:\\u200d(?:${[_e,$e,xe].join("|")})${Se+ke})*`,qe=`(?:${[`${_e}${be}?`,be,$e,xe,we].join("|")})`,je=RegExp(`${ve}(?=${ve})|${qe+Ae}`,"g");function Ce(e){return me(e)?function(e){return e.match(je)||[]}(e):function(e){return e.split("")}(e)}function Oe(e){return t=>{if(!t)return"";const r=me(t)?Ce(t):void 0,n=r?r[0]:t[0],s=r?ge(r,1).join(""):t.slice(1);return n[e]()+s}}const Le="\\ud800-\\udfff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Re="\\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",De="['’]",Pe=`[${Re}]`,Te=`[${Ee}]`,ze=`[${Fe}]`,Ie=`[^${Le}${Re+"\\d"+Ee+Fe+Me}]`,Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue=`[${Me}]`,Ve=`(?:${ze}|${Ie})`,He=`(?:${Ue}|${Ie})`,We=`(?:${De}(?:d|ll|m|re|s|t|ve))?`,Ze=`(?:${De}(?:D|LL|M|RE|S|T|VE))?`,Je="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ge="[\\ufe0e\\ufe0f]?",Ye=Ge+Je+`(?:\\u200d(?:${[`[^${Le}]`,Ne,Be].join("|")})${Ge+Je})*`,Ke=`(?:${[Te,Ne,Be].join("|")})${Ye}`,Xe=RegExp([`${Ue}?${ze}+${We}(?=${[Pe,Ue,"$"].join("|")})`,`${He}+${Ze}(?=${[Pe,Ue+Ve,"$"].join("|")})`,`${Ue}?${Ve}+${We}`,`${Ue}+${Ze}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ke].join("|"),"g");const Qe=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 ]/),et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function tt(e,t){if(void 0===t){const t=Qe(e)?function(e){return e.match(Xe)}(e):function(e){return e.match(et)}(e);return t||[]}return e.match(t)||[]}function rt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:rt(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const nt=Oe("toUpperCase"),st=Oe("toLowerCase");var it={toString:rt,startCase:e=>tt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+nt(t)),""),snakeCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?nt(t):t))),""),upperCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:nt,lowerCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:st,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}};const ot=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]=ot(e[r]));return t};const at=(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]=ct(e[o],a,r)}return n},ct=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?at(e,t,r):at({...e},t,r),n},lt=(e,t,r={})=>at({...e},t,{cover:!0,...r}),ut=(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=>{ut(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ut(e,t,r,n,s)},get:()=>i})};var ft={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:it.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:ot,merge:ct,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]=it.parseValue(n,{number:t,boolean:r});else e[n]=it.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:lt,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=lt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ut,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};class ht{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var dt={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ht;return void 0!==e&&t.set(e),t}};var gt={...R,...x,...ft,...dt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ce(e,function(e){return R.isArrayLike(e)?de(e):function(e){if(!R.isPrototype(e))return fe(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=he(s+r,0)),R.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,ae,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var pt={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var mt={...pt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.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(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.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||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const yt="[object Object]",wt="[object Array]",bt=e=>Object.prototype.toString.call(e),vt=(e,t,r=!1)=>{if(e===t)return;const n=bt(e);if(n===bt(t))if(n===wt&&e.length>=t.length)for(let r=0;r<t.length;r++)vt(e[r],t[r]);else if(n===yt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?vt(e[n],t[n]):e[n]=null},_t=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=bt(e),o=bt(t);if(i===wt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)_t(e[s],t[s],r,`${n}[${s}]`);else if(i===yt&&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=bt(s),c=bt(o);if(s!==o)if(a===wt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)_t(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===yt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)_t(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class $t{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 xt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new $t,response:new $t};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){xt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete xt.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=ft.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(xt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.requestLock[xt.blockId].request;else if(xt.requestLock[xt.blockId]&&xt.requestLock[xt.blockId].lock&&await xt.requestLock[xt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),xt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.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 kt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var St={diff:function(e,t){const r={};return(e=>{if(bt(e)===yt)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];bt(n[t])!==yt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),vt(e,t,!0),_t(e,t,r,"",!0),r},promixify:kt,run:(e,t={})=>e?re.run(kt(e)(t)):re.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:xt,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;ft.observe(s,o,a,e,c)}))}};const At=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,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return ft.parseValue(c,{number:o,boolean:a}),c},qt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},jt=function(e,t=!0){return t?encodeURIComponent(e):e},Ct=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Ot=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Lt=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}},Et=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(Ot);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};var Ft={parse:At,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=jt(qt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+jt(qt(e),s)})).join(t):Ct(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+jt(qt(l),s)})).filter(Boolean).join(t):n?jt(qt(n),s)+r+jt(qt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Et(e),{origin:r="",url:n="",query:s=""}=t,i=Lt(n),o=At(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Lt,parseHost:Et,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Mt=/%[sdj%]/g;let Rt=()=>{};function Dt(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 Pt(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(Mt,(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 Tt(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 zt(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&&(Rt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class It extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Nt(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);zt(o,r,(e=>(n(e),e.length?i(new It(e,Dt(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 It(l,Dt(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?zt(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 Bt(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Ut(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 Vt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Tt(t,i||e.type)||n.push(Pt(s.messages.required,e.fullField))};let Ht;const Wt=/^(([^<>()\[\]\\.,;:\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,}))$/,Zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Jt={integer:e=>Jt.number(e)&&parseInt(e,10)===e,float:e=>Jt.number(e)&&!Jt.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&&!Jt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Wt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Ht)return Ht;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 Ht=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"),Ht})()),hex:e=>"string"==typeof e&&!!e.match(Zt)},Gt="enum";var Yt={required:Vt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Pt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Vt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Jt[i](t)||n.push(Pt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Pt(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(Pt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Pt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Pt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Pt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Gt]=Array.isArray(e[Gt])?e[Gt]:[],-1===e[Gt].indexOf(t)&&n.push(Pt(s.messages[Gt],e.fullField,e[Gt].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(Pt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Pt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Kt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Tt(t,i)&&!e.required)return r();Yt.required(e,t,n,o,s,i),Tt(t,i)||Yt.type(e,t,n,o,s)}r(o)};var Xt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Tt(t,"string")&&!e.required)return r();Yt.required(e,t,n,i,s,"string"),Tt(t,"string")||(Yt.type(e,t,n,i,s),Yt.range(e,t,n,i,s),Yt.pattern(e,t,n,i,s),!0===e.whitespace&&Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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),Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),Tt(t)||Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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();Yt.required(e,t,n,i,s,"array"),null!=t&&(Yt.type(e,t,n,i,s),Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Tt(t,"string")&&!e.required)return r();Yt.required(e,t,n,i,s),Tt(t,"string")||Yt.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(Tt(t,"date")&&!e.required)return r();if(Yt.required(e,t,n,i,s),!Tt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Yt.type(e,r,n,i,s),r&&Yt.range(e,r.getTime(),n,i,s)}}r(i)},url:Kt,hex:Kt,email:Kt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Yt.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(Tt(t)&&!e.required)return r();Yt.required(e,t,n,i,s)}r(i)}};function Qt(){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 er=Qt();class tr{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Xt[e]=t};static warning=Rt;static messages=er;static validators=Xt;rules={};_messages=er;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=Ut(Qt(),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===er&&(e=Qt()),Ut(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 Nt(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&&tr.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(Bt(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(Bt(r,n)):s.error&&(u=[s.error(r,Pt(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 tr(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=Dt(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&&!Xt.hasOwnProperty(e.type))throw new Error(Pt("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]?Xt.required:Xt[this.getType(e)]||void 0}}function rr(e){return new tr(e)}var nr={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:rr,validate:function(e,t,r={},n=(()=>{})){return re.run(rr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var sr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const ir=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,or=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=ar(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+ir.charAt(s)+ir.charAt(i)+ir.charAt(o)+ir.charAt(a);return c},ar=e=>{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},cr=e=>{let t="",r=0,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};var lr={encode:or,decode: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=ir.indexOf(e.charAt(l++)),i=ir.indexOf(e.charAt(l++)),o=ir.indexOf(e.charAt(l++)),a=ir.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=cr(c),c},encodeByOss:e=>or(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ur={...i,base64:lr,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const fr=e=>{if(!e)return"";if(!gt.isObject(e))return"";let t="";return gt.forof(e,((e,r)=>{r&&(t+=`${it.kebabCase(e)}:${r};`)})),t},hr=["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"],dr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],gr=(e,t="px")=>e&&t?"0"===e?e:nr.isFloat(e.toString())?`${e}${t}`:e:e;var pr={stringify:fr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ft.parse(e,{sep:";",eq:":",uri:!1}),s={};return gt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:it.camelCase(e):e;nr.isFloat(n)||n.length>=2&&n.startsWith(".")&&nr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:gr,style:(e,t="px")=>{if(!e)return"";const r=gt.copy(e,{fields:hr});gt.forof(r,((e,n)=>{(dr.includes(e)||dr.includes(it.camelCase(e)))&&(r[e]=gr(n,t))}));return fr(r)},commonFields:hr};const mr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ft.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}?${Ft.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){yr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},yr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;mr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},wr=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}},br=(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)))})),vr=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var _r={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:mr,download:(e,t="")=>{e&&("string"!=typeof e?yr(e,t):mr(e,t))},downloadFile:yr,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();mr(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?br("clipboard-write").then((t=>{vr(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(wr(e)))):r(wr(e))})).catch((()=>{r(wr(e))})):r(wr(e))})),queryPermission:br,isAllowed:vr,legacyCopy:wr};var $r={ossImage:(e,t={})=>{if(!e)return e;const r=Ft.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=mt.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=Ft.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(",")}`}};var xr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const kr=({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 Sr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function Ar(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(gt.isPlainObject(e)){const r=Ft.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 qr{host="";reqConfig={};handleError;interceptors={request:new $t,response:new $t};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(Ar),this.interceptors.response.use(e.handleResponse||Sr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){qr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete qr.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=gt.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(qr.blockId,(()=>kr(s))),i=await qr.requestLock[qr.blockId].request;else if(qr.requestLock[qr.blockId]&&qr.requestLock[qr.blockId].lock&&await qr.requestLock[qr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),qr.requestLock[e]||this.lockR(e,(()=>kr(s))),i=await qr.requestLock[e].request,this.unlockR(e)}else i=await kr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const jr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Cr=e=>(...t)=>{const r=console[e];jr.overrode?r(...t):Or(r,e,...t)},Or=(e,t,...r)=>{const n=g.format(new Date,jr.format),s=jr.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 Lr={override:()=>{if(jr.overrode)return;jr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Or(t,e,...r)}}))},log:Cr("log"),info:Cr("info"),warn:Cr("warn"),error:Cr("error"),config:({tag:e=jr.tag,format:t=jr.format}={})=>{jr.tag=e,jr.format=t}};var Er={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Q.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+xr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>Q.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Q.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=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)}))))};const Fr=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,${lr.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}`}},Mr=(e,t,r)=>({key:e,fields:t,storage:r});class Rr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=re.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=ft.copy(e,{fields:this.fields});this.save(r)}}class Dr extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await re.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=ft.copy(t);else{const[,t]=await re.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=ft.copy(t)),this[e]=t}}const Pr=(e,t)=>{const r=Object.assign(new Dr,e||{});r.__persist=new Rr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.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 Tr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ft.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ft.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=ur.base64.encodeByOss(n),i=Ft.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ur.base64.encodeByOss(e),i=Ft.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const zr=(e,t)=>new Tr(e,t);class Ir{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>re.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await re.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await re.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Nr{__list=[];constructor(){this.clear()}add(e){const t=re.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 Br=new class{state=Pr(new Dr);frame=new c;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||g.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&&!g.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=gt.copy(r);gt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Ir;parallel=()=>new Nr};class Ur{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Vr=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 Ur;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=ft.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 mt.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)))}},Hr={gbk:t,math:oe,list:mt,string:it,time:g,obj:ft,rule:nr,regex:sr,...xr,...ur,...gt,Event:a},Wr={...xr,...ur,...re},Zr={mini:St,css:pr,qs:Ft,icon:Fr,html:_r},Jr={cdn:$r,watermark:zr},Gr={Store:Dr,storeRef:Pr,Persist:Rr,persistConfig:Mr},Yr=Br,Kr=Vr,Xr=Lr,Qr={fetch:Er,Http:qr,css:pr,qs:Ft,icon:Fr,html:_r};var en={gbk:t,time:g,hook:re,math:oe,util:gt,list:mt,string:it,obj:ft,crypto:ur,mini:St,qs:Ft,css:pr,cdn:$r,html:_r,icon:Fr,rule:nr,regex:sr,convert:xr,Event:a,Http:qr,Store:Dr,storeRef:Pr,Persist:Rr,persistConfig:Mr,watermark:zr,joker:Br,tracker:Vr,logger:Lr,fetch:Er};export{e as Ddan,Jr as dCdn,Wr as dHook,Yr as dJoker,Xr as dLogger,Zr as dMini,Gr as dStore,Kr as dTracker,Hr as dUtil,Qr as dWeb,en as default};
package/bin/ddan-js.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={})}(this,(function(e){"use strict";e.Ddan=void 0,e.Ddan||(e.Ddan={});var t={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({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(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",j=9007199254740991;const q=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=j}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?j:t)&&("number"==typeof e||q.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,T=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):P.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}async function K(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const X=e=>{try{let t;return t=R.isFunction(e)?e():e,K(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Q={to:K,go:e=>X(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeDo:X};class ee{__source;constructor(e){this.__source=e}run=()=>Q.safeDo(this.__source);static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new ee(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new ee(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new ee(e).run();const s=await n;return this._unlock(t),s}}class te{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var re={...Q,sleep:Q.delay,run:async function(e,t=0){if(t<=0)return Q.safeDo(e);const r=t>0?Date.now():0,n=await Q.safeDo(e),s=Date.now()-r;return s<t&&await Q.delay(t-s),n},exec:(e,t="")=>ee.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new te(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 Q.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Q.delay(i)}while(-1===n||s>0)}};function ne(e){return Math.floor(Math.random()*e)}function se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ie=180/Math.PI;var oe={random:ne,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=ne(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ie},degree2radian:function(e){return e/ie},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ae(e){return e!=e}function ce(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 le,ue,fe=(le=Object.keys,ue=Object,function(e){return le(ue(e))}),he=Math.max;function de(e,t){var r=R.isArray(e)||R.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&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ge(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const pe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function me(e){return pe.test(e)}const ye="\\ud800-\\udfff",we=`[${ye}]`,be="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ve="\\ud83c[\\udffb-\\udfff]",_e=`[^${ye}]`,$e="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",ke=`${`(?:${be}|${ve})`}?`,Se="[\\ufe0e\\ufe0f]?",Ae=Se+ke+`(?:\\u200d(?:${[_e,$e,xe].join("|")})${Se+ke})*`,je=`(?:${[`${_e}${be}?`,be,$e,xe,we].join("|")})`,qe=RegExp(`${ve}(?=${ve})|${je+Ae}`,"g");function Ce(e){return me(e)?function(e){return e.match(qe)||[]}(e):function(e){return e.split("")}(e)}function Oe(e){return t=>{if(!t)return"";const r=me(t)?Ce(t):void 0,n=r?r[0]:t[0],s=r?ge(r,1).join(""):t.slice(1);return n[e]()+s}}const Le="\\ud800-\\udfff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Re="\\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",De="['’]",Te=`[${Re}]`,Pe=`[${Ee}]`,ze=`[${Fe}]`,Ie=`[^${Le}${Re+"\\d"+Ee+Fe+Me}]`,Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue=`[${Me}]`,Ve=`(?:${ze}|${Ie})`,He=`(?:${Ue}|${Ie})`,We=`(?:${De}(?:d|ll|m|re|s|t|ve))?`,Ze=`(?:${De}(?:D|LL|M|RE|S|T|VE))?`,Je="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ge="[\\ufe0e\\ufe0f]?",Ye=Ge+Je+`(?:\\u200d(?:${[`[^${Le}]`,Ne,Be].join("|")})${Ge+Je})*`,Ke=`(?:${[Pe,Ne,Be].join("|")})${Ye}`,Xe=RegExp([`${Ue}?${ze}+${We}(?=${[Te,Ue,"$"].join("|")})`,`${He}+${Ze}(?=${[Te,Ue+Ve,"$"].join("|")})`,`${Ue}?${Ve}+${We}`,`${Ue}+${Ze}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ke].join("|"),"g");const Qe=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 ]/),et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function tt(e,t){if(void 0===t){const t=Qe(e)?function(e){return e.match(Xe)}(e):function(e){return e.match(et)}(e);return t||[]}return e.match(t)||[]}function rt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:rt(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const nt=Oe("toUpperCase"),st=Oe("toLowerCase");var it={toString:rt,startCase:e=>tt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+nt(t)),""),snakeCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?nt(t):t))),""),upperCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:nt,lowerCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:st,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}};const ot=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]=ot(e[r]));return t};const at=(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]=ct(e[o],a,r)}return n},ct=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?at(e,t,r):at({...e},t,r),n},lt=(e,t,r={})=>at({...e},t,{cover:!0,...r}),ut=(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=>{ut(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ut(e,t,r,n,s)},get:()=>i})};var ft={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:it.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:ot,merge:ct,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]=it.parseValue(n,{number:t,boolean:r});else e[n]=it.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:lt,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=lt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ut,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};class ht{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var dt={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ht;return void 0!==e&&t.set(e),t}};var gt={...R,...x,...ft,...dt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ce(e,function(e){return R.isArrayLike(e)?de(e):function(e){if(!R.isPrototype(e))return fe(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=he(s+r,0)),R.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,ae,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var pt={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var mt={...pt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.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(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.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||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const yt="[object Object]",wt="[object Array]",bt=e=>Object.prototype.toString.call(e),vt=(e,t,r=!1)=>{if(e===t)return;const n=bt(e);if(n===bt(t))if(n===wt&&e.length>=t.length)for(let r=0;r<t.length;r++)vt(e[r],t[r]);else if(n===yt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?vt(e[n],t[n]):e[n]=null},_t=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=bt(e),o=bt(t);if(i===wt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)_t(e[s],t[s],r,`${n}[${s}]`);else if(i===yt&&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=bt(s),c=bt(o);if(s!==o)if(a===wt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)_t(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===yt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)_t(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class $t{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 xt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new $t,response:new $t};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){xt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete xt.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=ft.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(xt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.requestLock[xt.blockId].request;else if(xt.requestLock[xt.blockId]&&xt.requestLock[xt.blockId].lock&&await xt.requestLock[xt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),xt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.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 kt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var St={diff:function(e,t){const r={};return(e=>{if(bt(e)===yt)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];bt(n[t])!==yt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),vt(e,t,!0),_t(e,t,r,"",!0),r},promixify:kt,run:(e,t={})=>e?re.run(kt(e)(t)):re.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:xt,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;ft.observe(s,o,a,e,c)}))}};const At=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,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return ft.parseValue(c,{number:o,boolean:a}),c},jt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},qt=function(e,t=!0){return t?encodeURIComponent(e):e},Ct=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Ot=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Lt=e=>{if(!e)return;const t=e.match(Ot);if(!t||t.length<4)return;const r=t[3]||"";return{origin:t[0],protocol:t[1],host:`${t[2]}${r?":"+r:""}`,port:r}};var Et={parse:At,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=qt(jt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+qt(jt(e),s)})).join(t):Ct(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+qt(jt(l),s)})).filter(Boolean).join(t):n?qt(jt(n),s)+r+qt(jt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{let t="",r="";const n=Lt(e);n&&(t=n.host,r=n.origin);const s=e.split("?"),i=s[0],o=s.length>1?s[1]:"";let a="";const c=i.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);c&&(a=c[1]);const l=At(o,{multiple:!0,uri:!1}),u=i.lastIndexOf("/")+1,f=i.substring(u),h=f.lastIndexOf("."),d=f.substring(0,h),g=f.substring(h),p=i.substring(0,u);return{host:t,origin:r,url:e,path:i,page:a,query:o,filename:d?f:"",filenameWithoutExtension:d,extension:d?g:"",route:d?p:"",params:l}},parsePath:e=>{const t=(e||"").replace(/\\/g,"/").split("?")[0],r=t.lastIndexOf("/")+1,n=t.substring(r),s=n.lastIndexOf("."),i=n.substring(0,s),o=n.substring(s);return{root:t.substring(0,r),name:n,withoutExtension:i,extension:o}},parseHost:Lt,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Ft=/%[sdj%]/g;let Mt=()=>{};function Rt(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 Dt(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(Ft,(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 Tt(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 Pt(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&&(Mt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class zt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function It(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);Pt(o,r,(e=>(n(e),e.length?i(new zt(e,Rt(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 zt(l,Rt(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?Pt(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 Nt(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Bt(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 Ut=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Tt(t,i||e.type)||n.push(Dt(s.messages.required,e.fullField))};let Vt;const Ht=/^(([^<>()\[\]\\.,;:\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,}))$/,Wt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Zt={integer:e=>Zt.number(e)&&parseInt(e,10)===e,float:e=>Zt.number(e)&&!Zt.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&&!Zt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ht),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Vt)return Vt;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 Vt=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"),Vt})()),hex:e=>"string"==typeof e&&!!e.match(Wt)},Jt="enum";var Gt={required:Ut,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Dt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Ut(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Zt[i](t)||n.push(Dt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Dt(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(Dt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Dt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Dt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Dt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Jt]=Array.isArray(e[Jt])?e[Jt]:[],-1===e[Jt].indexOf(t)&&n.push(Dt(s.messages[Jt],e.fullField,e[Jt].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(Dt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Dt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Yt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Tt(t,i)&&!e.required)return r();Gt.required(e,t,n,o,s,i),Tt(t,i)||Gt.type(e,t,n,o,s)}r(o)};var Kt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Tt(t,"string")&&!e.required)return r();Gt.required(e,t,n,i,s,"string"),Tt(t,"string")||(Gt.type(e,t,n,i,s),Gt.range(e,t,n,i,s),Gt.pattern(e,t,n,i,s),!0===e.whitespace&&Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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),Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),Tt(t)||Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&(Gt.type(e,t,n,i,s),Gt.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();Gt.required(e,t,n,i,s,"array"),null!=t&&(Gt.type(e,t,n,i,s),Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s),void 0!==t&&Gt.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(Tt(t,"string")&&!e.required)return r();Gt.required(e,t,n,i,s),Tt(t,"string")||Gt.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(Tt(t,"date")&&!e.required)return r();if(Gt.required(e,t,n,i,s),!Tt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Gt.type(e,r,n,i,s),r&&Gt.range(e,r.getTime(),n,i,s)}}r(i)},url:Yt,hex:Yt,email:Yt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Gt.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(Tt(t)&&!e.required)return r();Gt.required(e,t,n,i,s)}r(i)}};function Xt(){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 Qt=Xt();class er{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Kt[e]=t};static warning=Mt;static messages=Qt;static validators=Kt;rules={};_messages=Qt;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=Bt(Xt(),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===Qt&&(e=Xt()),Bt(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 It(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&&er.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(Nt(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(Nt(r,n)):s.error&&(u=[s.error(r,Dt(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 er(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=Rt(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&&!Kt.hasOwnProperty(e.type))throw new Error(Dt("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]?Kt.required:Kt[this.getType(e)]||void 0}}function tr(e){return new er(e)}var rr={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:tr,validate:function(e,t,r={},n=(()=>{})){return re.run(tr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var nr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const sr=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,ir=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=or(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+sr.charAt(s)+sr.charAt(i)+sr.charAt(o)+sr.charAt(a);return c},or=e=>{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},ar=e=>{let t="",r=0,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};var cr={encode:ir,decode: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=sr.indexOf(e.charAt(l++)),i=sr.indexOf(e.charAt(l++)),o=sr.indexOf(e.charAt(l++)),a=sr.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=ar(c),c},encodeByOss:e=>ir(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var lr={...i,base64:cr,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const ur=e=>{if(!e)return"";if(!gt.isObject(e))return"";let t="";return gt.forof(e,((e,r)=>{r&&(t+=`${it.kebabCase(e)}:${r};`)})),t},fr=["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"],hr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],dr=(e,t="px")=>e&&t?"0"===e?e:rr.isFloat(e.toString())?`${e}${t}`:e:e;var gr={stringify:ur,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Et.parse(e,{sep:";",eq:":",uri:!1}),s={};return gt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:it.camelCase(e):e;rr.isFloat(n)||n.length>=2&&n.startsWith(".")&&rr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:dr,style:(e,t="px")=>{if(!e)return"";const r=gt.copy(e,{fields:fr});gt.forof(r,((e,n)=>{(hr.includes(e)||hr.includes(it.camelCase(e)))&&(r[e]=dr(n,t))}));return ur(r)},commonFields:fr};const pr=(e,t="",r=!1)=>{try{if(!e)return;const n=Et.parseUrl(e),s=t||n.filename;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.path}?${Et.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){mr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},mr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;pr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},yr=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}},wr=(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)))})),br=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var vr={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:pr,download:(e,t="")=>{e&&("string"!=typeof e?mr(e,t):pr(e,t))},downloadFile:mr,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();pr(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?wr("clipboard-write").then((t=>{br(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(yr(e)))):r(yr(e))})).catch((()=>{r(yr(e))})):r(yr(e))})),queryPermission:wr,isAllowed:br,legacyCopy:yr};var _r={ossImage:(e,t={})=>{if(!e)return e;const r=Et.parseUrl(e).path;if(t.domain){if(!e.startsWith("http"))return e;const r=mt.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=Et.parseUrl(e).path,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(",")}`}};var $r={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const xr=({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 kr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function Sr(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(gt.isPlainObject(e)){const r=Et.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 Ar{host="";reqConfig={};handleError;interceptors={request:new $t,response:new $t};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(Sr),this.interceptors.response.use(e.handleResponse||kr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){Ar.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete Ar.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=gt.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(Ar.blockId,(()=>xr(s))),i=await Ar.requestLock[Ar.blockId].request;else if(Ar.requestLock[Ar.blockId]&&Ar.requestLock[Ar.blockId].lock&&await Ar.requestLock[Ar.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),Ar.requestLock[e]||this.lockR(e,(()=>xr(s))),i=await Ar.requestLock[e].request,this.unlockR(e)}else i=await xr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const jr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},qr=e=>(...t)=>{const r=console[e];jr.overrode?r(...t):Cr(r,e,...t)},Cr=(e,t,...r)=>{const n=g.format(new Date,jr.format),s=jr.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 Or={override:()=>{if(jr.overrode)return;jr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Cr(t,e,...r)}}))},log:qr("log"),info:qr("info"),warn:qr("warn"),error:qr("error"),config:({tag:e=jr.tag,format:t=jr.format}={})=>{jr.tag=e,jr.format=t}};var Lr={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Q.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+$r.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>Q.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Q.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=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)}))))};const Er=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,${cr.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}`}},Fr=(e,t,r)=>({key:e,fields:t,storage:r});class Mr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=re.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=ft.copy(e,{fields:this.fields});this.save(r)}}class Rr extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await re.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=ft.copy(t);else{const[,t]=await re.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=ft.copy(t)),this[e]=t}}const Dr=(e,t)=>{const r=Object.assign(new Rr,e||{});r.__persist=new Mr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.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 Tr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Et.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Et.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=lr.base64.encodeByOss(n),i=Et.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=lr.base64.encodeByOss(e),i=Et.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const Pr=(e,t)=>new Tr(e,t);class zr{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>re.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await re.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await re.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Ir{__list=[];constructor(){this.clear()}add(e){const t=re.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 Nr=new class{state=Dr(new Rr);frame=new c;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||g.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&&!g.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=gt.copy(r);gt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new zr;parallel=()=>new Ir};class Br{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Ur=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 Br;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=ft.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 mt.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)))}},Vr={gbk:t,math:oe,list:mt,string:it,time:g,obj:ft,crypto:lr,convert:$r,rule:rr,regex:nr,...gt,Event:a},Hr={...$r,...lr,...re},Wr={mini:St,css:gr,qs:Et,icon:Er,html:vr},Zr={cdn:_r,watermark:Pr},Jr={Store:Rr,storeRef:Dr,Persist:Mr,persistConfig:Fr},Gr=Nr,Yr=Ur,Kr=Or,Xr={fetch:Lr,Http:Ar,css:gr,qs:Et,icon:Er,html:vr};var Qr={gbk:t,time:g,hook:re,math:oe,util:gt,list:mt,string:it,obj:ft,crypto:lr,mini:St,qs:Et,css:gr,cdn:_r,html:vr,icon:Er,rule:rr,regex:nr,convert:$r,Event:a,Http:Ar,Store:Rr,storeRef:Dr,Persist:Mr,persistConfig:Fr,watermark:Pr,joker:Nr,tracker:Ur,logger:Or,fetch:Lr};e.dCdn=Zr,e.dHook=Hr,e.dJoker=Gr,e.dLogger=Kr,e.dMini=Wr,e.dStore=Jr,e.dTracker=Yr,e.dUtil=Vr,e.dWeb=Xr,e.default=Qr,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ddan={})}(this,(function(e){"use strict";e.Ddan=void 0,e.Ddan||(e.Ddan={});var t={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const r="0123456789",n="abcdefghijklmnopqrstuvwxyz",s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var i={keyNumber:r,keyLower:n,keyUpper:s,keyChars:r+n+s};const o=(e=0,t=0)=>{const r=i.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 a{__map;__tagList;__eventId="";constructor(){this.__map=new Map,this.__tagList=[],this.__eventId=o()}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 c{_loopTimer;_event=new a;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 l={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class u{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/l.oneSecond);let r=t.countdown;t.d=Math.floor(r/l.oneDay),t.dd=(t.d<10?"0":"")+t.d,r%=l.oneDay,t.h=Math.floor(r/l.oneHour),t.hh=(t.h<10?"0":"")+t.h,r%=l.oneHour,t.m=Math.floor(r/l.oneMinute),t.mm=(t.m<10?"0":"")+t.m,r%=l.oneMinute,t.s=Math.floor(r/l.oneSecond),t.ss=(t.s<10?"0":"")+t.s,r%=l.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>l.oneHour?"hh:mm:ss":t.countdown>l.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]))}}const f=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?h(r).format(t):""},h=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new u(t||0)};function d({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(f(Date.now(),o)).getTime()}var g={...l,now:function(){return h(new Date)},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:f,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return h(r).toCountdown(t)},dtime:h,loopFrame:(e=500)=>new c(e)},p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self;const y=(p||m||Function("return this")()).Symbol,{toString:w,hasOwnProperty:b,propertyIsEnumerable:v}=Object.prototype,_=y?y.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){const t=b.call(e,_),r=e[_];let n=!1;try{e[_]=void 0,n=!0}catch(e){}const s=w.call(e);return n&&(t?e[_]=r:delete e[_]),s}(e):w.call(e)}var x={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:w,hasOwnProperty:b,propertyIsEnumerable:v},k="[object Function]",S="[object GeneratorFunction]",A="[object AsyncFunction]",q=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function C(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function O(e){return null!=e&&"object"==typeof e}const L=Array.isArray;function E(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=q}(e.length)&&!M(e)}function F(e){return O(e)&&E(e)}function M(e){var t=C(e)?x.getTag(e):"";return t===k||t===S||t===A}var R={is:function(e,t){return x.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===x.getTag(e)},isString:function(e){return"string"==typeof e||!L(e)&&O(e)&&"[object String]"==x.getTag(e)},isObject:C,isObjectLike:O,isPlainObject:function(e){if(!O(e)||"[object Object]"!=x.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||O(e)&&"[object Symbol]"===x.getTag(e)},isFunction:M,isArray:L,isArrayLikeObject:F,isIndex:function(e,t){return!!(t=null==t?q:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:E,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return F(e)&&x.hasOwnProperty.call(e,"callee")&&(!x.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==x.toString.call(e))},isPromise:function(e){return"[object Promise]"===(C(e)?x.getTag(e):"")}};const D=NaN,T=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,I=/^0o[0-7]+$/i,N=parseInt,B=1/0,U=17976931348623157e292;function V(e){if("number"==typeof e)return e;if(R.isSymbol(e))return D;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=z.test(e);return t||I.test(e)?N(e.slice(2),t?2:8):P.test(e)?D:+e}function H(e){return e?(e=V(e))===B||e===-B?(e<0?-1:1)*U:e==e?e:0:0===e?e:0}var W={toNumber:V,toFinite:H,toInteger:function(e){var t=H(e),r=t%1;return t==t?r?t-r:t:0}};const Z="Expected a function",J=Math.max,G=Math.min;function Y(e,t=300,r={}){var n,s,i,o,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(Z);function d(t){var r=n,i=s;return n=s=void 0,l=t,o=e.apply(i,r)}function g(e){var r=e-c;return void 0===c||r>=t||r<0||f&&e-l>=i}function p(){var e=Date.now();if(g(e))return m(e);a=setTimeout(p,function(e){var r=t-(e-c);return f?G(r,i-(e-l)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=g(r);if(n=arguments,s=this,c=r,i){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),u?d(e):o}(c);if(f)return a=setTimeout(p,t),d(c)}return void 0===a&&(a=setTimeout(p,t)),o}return t=W.toNumber(t)||0,R.isObject(r)&&(u=!!r.leading,i=(f="maxWait"in r)?J(W.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}async function K(e,t){return e.then((e=>[null,e])).catch((e=>(t&&Object.assign(e,t),[e,void 0])))}const X=e=>{try{let t;return t=R.isFunction(e)?e():e,K(Promise.resolve(t))}catch(e){return Promise.resolve([e,void 0])}};var Q={to:K,go:e=>X(e),delay:(e=1e3)=>new Promise((t=>setTimeout(t,e))),safeDo:X};class ee{__source;constructor(e){this.__source=e}run=()=>Q.safeDo(this.__source);static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new ee(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new ee(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new ee(e).run();const s=await n;return this._unlock(t),s}}class te{__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(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.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])}}}var re={...Q,sleep:Q.delay,run:async function(e,t=0){if(t<=0)return Q.safeDo(e);const r=t>0?Date.now():0,n=await Q.safeDo(e),s=Date.now()-r;return s<t&&await Q.delay(t-s),n},exec:(e,t="")=>ee.exec(e,t),debounce:Y,throttle:function(e,t=300,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),Y(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new te(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 Q.to(Promise.resolve(t()));if(e||!1===r)break;s>0&&s--,0!==s&&await Q.delay(i)}while(-1===n||s>0)}};function ne(e){return Math.floor(Math.random()*e)}function se(e,t=10){return+parseFloat(Number(e).toExponential(t))}const ie=180/Math.PI;var oe={random:ne,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=ne(e);r?n.push(s):n.includes(s)||n.push(s)}return n},strip:se,float:function(e,{digits:t=2,fixed:r=!1}={}){const n=se(e).toFixed(t);return r||!t?+n:+n.replace(/(\.[1-9]?)0+$/,"$1").replace(/\.$/,"")},radian2degree:function(e){return e*ie},degree2radian:function(e){return e/ie},formatMemory:function(e){let t=e;const r={g:0,m:0,kb:0,b:0,desc:""};return t>=1<<30&&(r.g=Math.floor(t/(1<<30)),t%=1<<30),t>=1<<20&&(r.m=Math.floor(t/(1<<20)),t%=1<<20),t>=1024&&(r.kb=Math.floor(t/1024),t%=1024),r.b=t,r.desc=e>=1<<30?(e/(1<<30)).toFixed(2)+"G":e>=1<<20?(e/(1<<20)).toFixed(2)+"M":e>=1024?(e/1024).toFixed(2)+"KB":e+"B",r}};function ae(e){return e!=e}function ce(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 le,ue,fe=(le=Object.keys,ue=Object,function(e){return le(ue(e))}),he=Math.max;function de(e,t){var r=R.isArray(e)||R.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&&!x.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ge(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const pe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function me(e){return pe.test(e)}const ye="\\ud800-\\udfff",we=`[${ye}]`,be="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ve="\\ud83c[\\udffb-\\udfff]",_e=`[^${ye}]`,$e="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",ke=`${`(?:${be}|${ve})`}?`,Se="[\\ufe0e\\ufe0f]?",Ae=Se+ke+`(?:\\u200d(?:${[_e,$e,xe].join("|")})${Se+ke})*`,qe=`(?:${[`${_e}${be}?`,be,$e,xe,we].join("|")})`,je=RegExp(`${ve}(?=${ve})|${qe+Ae}`,"g");function Ce(e){return me(e)?function(e){return e.match(je)||[]}(e):function(e){return e.split("")}(e)}function Oe(e){return t=>{if(!t)return"";const r=me(t)?Ce(t):void 0,n=r?r[0]:t[0],s=r?ge(r,1).join(""):t.slice(1);return n[e]()+s}}const Le="\\ud800-\\udfff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Re="\\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",De="['’]",Te=`[${Re}]`,Pe=`[${Ee}]`,ze=`[${Fe}]`,Ie=`[^${Le}${Re+"\\d"+Ee+Fe+Me}]`,Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue=`[${Me}]`,Ve=`(?:${ze}|${Ie})`,He=`(?:${Ue}|${Ie})`,We=`(?:${De}(?:d|ll|m|re|s|t|ve))?`,Ze=`(?:${De}(?:D|LL|M|RE|S|T|VE))?`,Je="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ge="[\\ufe0e\\ufe0f]?",Ye=Ge+Je+`(?:\\u200d(?:${[`[^${Le}]`,Ne,Be].join("|")})${Ge+Je})*`,Ke=`(?:${[Pe,Ne,Be].join("|")})${Ye}`,Xe=RegExp([`${Ue}?${ze}+${We}(?=${[Te,Ue,"$"].join("|")})`,`${He}+${Ze}(?=${[Te,Ue+Ve,"$"].join("|")})`,`${Ue}?${Ve}+${We}`,`${Ue}+${Ze}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ke].join("|"),"g");const Qe=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 ]/),et=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function tt(e,t){if(void 0===t){const t=Qe(e)?function(e){return e.match(Xe)}(e):function(e){return e.match(et)}(e);return t||[]}return e.match(t)||[]}function rt(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:rt(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const nt=Oe("toUpperCase"),st=Oe("toLowerCase");var it={toString:rt,startCase:e=>tt(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+nt(t)),""),snakeCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?nt(t):t))),""),upperCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:nt,lowerCase:e=>tt(rt(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:st,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}};const ot=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]=ot(e[r]));return t};const at=(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]=ct(e[o],a,r)}return n},ct=(e,t,r={})=>{let n={};return n=e&&"object"==typeof e&&!Array.isArray(e)?at(e,t,r):at({...e},t,r),n},lt=(e,t,r={})=>at({...e},t,{cover:!0,...r}),ut=(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=>{ut(i,e,r,n,s)})),Object.defineProperty(e,t,{configurable:!0,enumerable:!0,set:o=>{r.call(n,o,i),i=o,s&&ut(e,t,r,n,s)},get:()=>i})};var ft={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:it.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:ot,merge:ct,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]=it.parseValue(n,{number:t,boolean:r});else e[n]=it.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:lt,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=lt(r,e,{ignoreUndefined:n,ignoreNull:s,ignoreZero:i,ignoreEmptyArray:o,ignoreEmptyString:a,cover:c}))),r},observe:ut,find:(e,t)=>{if(e&&"object"==typeof e)return Object.entries(e||{}).find((([e,r])=>!(!t||!t(e,r))))}};class ht{__value=void 0;set(e){this.__value=e}get(){return this.__value}}var dt={singleton:function(){class e{static __instance__;constructor(){}static get Instance(){return e.__instance__||(e.__instance__=new this),e.__instance__}}return e},getset:function(e){const t=new ht;return void 0!==e&&t.set(e),t}};var gt={...R,...x,...ft,...dt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ce(e,function(e){return R.isArrayLike(e)?de(e):function(e){if(!R.isPrototype(e))return fe(e);var t=[];for(var r in Object(e))x.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?W.toInteger(r):0;var s=e.length;return r<0&&(r=he(s+r,0)),R.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,ae,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(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var pt={groupBy:function(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})},first:function(e){if(!e)return;return e.length<=0?void 0:e[0]},last:function(e){if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var mt={...pt,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.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(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:function(e,t,r=0){if(!R.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!R.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||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const yt="[object Object]",wt="[object Array]",bt=e=>Object.prototype.toString.call(e),vt=(e,t,r=!1)=>{if(e===t)return;const n=bt(e);if(n===bt(t))if(n===wt&&e.length>=t.length)for(let r=0;r<t.length;r++)vt(e[r],t[r]);else if(n===yt&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?vt(e[n],t[n]):e[n]=null},_t=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=bt(e),o=bt(t);if(i===wt&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)_t(e[s],t[s],r,`${n}[${s}]`);else if(i===yt&&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=bt(s),c=bt(o);if(s!==o)if(a===wt&&c===a&&s.length>=o.length)for(let e=0;e<s.length;e++)_t(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===yt&&c===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)_t(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class $t{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 xt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new $t,response:new $t};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){xt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete xt.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=ft.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(xt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.requestLock[xt.blockId].request;else if(xt.requestLock[xt.blockId]&&xt.requestLock[xt.blockId].lock&&await xt.requestLock[xt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),xt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await xt.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 kt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var St={diff:function(e,t){const r={};return(e=>{if(bt(e)===yt)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];bt(n[t])!==yt&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),vt(e,t,!0),_t(e,t,r,"",!0),r},promixify:kt,run:(e,t={})=>e?re.run(kt(e)(t)):re.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:xt,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;ft.observe(s,o,a,e,c)}))}};const At=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,x.hasOwnProperty.call(c,a)&&s?Array.isArray(c[a])?c[a].push(u):c[a]=[c[a],u]:c[a]=u}return ft.parseValue(c,{number:o,boolean:a}),c},qt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},jt=function(e,t=!0){return t?encodeURIComponent(e):e},Ct=function(e,{cleanZero:t=!1,cleanNull:r=!1,cleanWhitespace:n=!1}={}){return!(!t||0!==e)||(!(!r||null!=e)||!(!n||"string"!=typeof e||""!==e.trim()))},Ot=/^(http[s]?):\/\/([\w.]+)(?::(\d+))?/,Lt=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}},Et=e=>{const t={href:e,url:"",origin:"",protocol:"",host:"",port:"",query:""};if(!e)return t;const r=e.match(Ot);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};var Ft={parse:At,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=jt(qt(n),s)+r,l=e[n];return Array.isArray(l)?l.map((function(e){return c+jt(qt(e),s)})).join(t):Ct(l,{cleanZero:i,cleanNull:o,cleanWhitespace:a})?"":c+jt(qt(l),s)})).filter(Boolean).join(t):n?jt(qt(n),s)+r+jt(qt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=Et(e),{origin:r="",url:n="",query:s=""}=t,i=Lt(n),o=At(s,{multiple:!0,uri:!1});return{...t,...i,pathname:n.substring(n.indexOf(r||"")+r.length),params:o}},parsePath:Lt,parseHost:Et,join:(...e)=>{const t=[];return e.forEach((e=>{const r=e.trim().replace(/^\/*(.*?)\/*$/,"$1");r.length>0&&t.push(r)})),t.join("/")}};const Mt=/%[sdj%]/g;let Rt=()=>{};function Dt(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 Tt(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(Mt,(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 Pt(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 zt(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&&(Rt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class It extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function Nt(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);zt(o,r,(e=>(n(e),e.length?i(new It(e,Dt(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 It(l,Dt(l))):t(s)};o.length||(n(l),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?zt(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 Bt(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function Ut(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 Vt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!Pt(t,i||e.type)||n.push(Tt(s.messages.required,e.fullField))};let Ht;const Wt=/^(([^<>()\[\]\\.,;:\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,}))$/,Zt=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Jt={integer:e=>Jt.number(e)&&parseInt(e,10)===e,float:e=>Jt.number(e)&&!Jt.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&&!Jt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Wt),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Ht)return Ht;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 Ht=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"),Ht})()),hex:e=>"string"==typeof e&&!!e.match(Zt)},Gt="enum";var Yt={required:Vt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push(Tt(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void Vt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Jt[i](t)||n.push(Tt(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push(Tt(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(Tt(s.messages[u].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(Tt(s.messages[u].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(Tt(s.messages[u].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(Tt(s.messages[u].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Gt]=Array.isArray(e[Gt])?e[Gt]:[],-1===e[Gt].indexOf(t)&&n.push(Tt(s.messages[Gt],e.fullField,e[Gt].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(Tt(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(Tt(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Kt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Pt(t,i)&&!e.required)return r();Yt.required(e,t,n,o,s,i),Pt(t,i)||Yt.type(e,t,n,o,s)}r(o)};var Xt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(Pt(t,"string")&&!e.required)return r();Yt.required(e,t,n,i,s,"string"),Pt(t,"string")||(Yt.type(e,t,n,i,s),Yt.range(e,t,n,i,s),Yt.pattern(e,t,n,i,s),!0===e.whitespace&&Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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),Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),Pt(t)||Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&(Yt.type(e,t,n,i,s),Yt.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();Yt.required(e,t,n,i,s,"array"),null!=t&&(Yt.type(e,t,n,i,s),Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s),void 0!==t&&Yt.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(Pt(t,"string")&&!e.required)return r();Yt.required(e,t,n,i,s),Pt(t,"string")||Yt.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(Pt(t,"date")&&!e.required)return r();if(Yt.required(e,t,n,i,s),!Pt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Yt.type(e,r,n,i,s),r&&Yt.range(e,r.getTime(),n,i,s)}}r(i)},url:Kt,hex:Kt,email:Kt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Yt.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(Pt(t)&&!e.required)return r();Yt.required(e,t,n,i,s)}r(i)}};function Qt(){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 er=Qt();class tr{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Xt[e]=t};static warning=Rt;static messages=er;static validators=Xt;rules={};_messages=er;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=Ut(Qt(),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===er&&(e=Qt()),Ut(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 Nt(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&&tr.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let u=l.map(Bt(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(Bt(r,n)):s.error&&(u=[s.error(r,Tt(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 tr(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=Dt(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&&!Xt.hasOwnProperty(e.type))throw new Error(Tt("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]?Xt.required:Xt[this.getType(e)]||void 0}}function rr(e){return new tr(e)}var nr={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:rr,validate:function(e,t,r={},n=(()=>{})){return re.run(rr(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var sr={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const ir=`${i.keyUpper}${i.keyLower}${i.keyNumber}+/=`,or=e=>{let t,r,n,s,i,o,a,c="",l=0;for(e=ar(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+ir.charAt(s)+ir.charAt(i)+ir.charAt(o)+ir.charAt(a);return c},ar=e=>{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},cr=e=>{let t="",r=0,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};var lr={encode:or,decode: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=ir.indexOf(e.charAt(l++)),i=ir.indexOf(e.charAt(l++)),o=ir.indexOf(e.charAt(l++)),a=ir.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=cr(c),c},encodeByOss:e=>or(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var ur={...i,base64:lr,uuid:o,guid:(e,t=!1,r="")=>{const n=o(e||32);return t?g.now().format("yyyyMMddhhmmss")+r+n:n}};const fr=e=>{if(!e)return"";if(!gt.isObject(e))return"";let t="";return gt.forof(e,((e,r)=>{r&&(t+=`${it.kebabCase(e)}:${r};`)})),t},hr=["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"],dr=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],gr=(e,t="px")=>e&&t?"0"===e?e:nr.isFloat(e.toString())?`${e}${t}`:e:e;var pr={stringify:fr,parse:(e,{camel:t=!1,pure:r=!0}={})=>{if(!e.trim())return;const n=Ft.parse(e,{sep:";",eq:":",uri:!1}),s={};return gt.forof(n,((e,n)=>{if(!n)return;const i=t?r&&e.startsWith("_")?e:it.camelCase(e):e;nr.isFloat(n)||n.length>=2&&n.startsWith(".")&&nr.isNumber(n.substr(1))?s[i]=+n:s[i]=n})),s},fixValue:gr,style:(e,t="px")=>{if(!e)return"";const r=gt.copy(e,{fields:hr});gt.forof(r,((e,n)=>{(dr.includes(e)||dr.includes(it.camelCase(e)))&&(r[e]=gr(n,t))}));return fr(r)},commonFields:hr};const mr=(e,t="",r=!1)=>{try{if(!e)return;const n=Ft.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}?${Ft.stringify(t,{uri:!1})}`,i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="blob",i.onload=function(){yr(i.response,s)},i.onerror=function(t){console.error(`[ddan] downloadUrl ${e}`,t)},i.send()}}catch(t){console.error(`[ddan] downloadUrl ${e}`,t)}},yr=(e,t="")=>{try{if(!e)return;const r=URL?.createObjectURL(e);if(!r)return;mr(r,t),URL?.revokeObjectURL(r)}catch(e){console.error("[ddan] downloadFile",e)}},wr=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}},br=(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)))})),vr=(e,t=!0)=>!(!t||"prompt"!==e)||"granted"===e;var _r={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:mr,download:(e,t="")=>{e&&("string"!=typeof e?yr(e,t):mr(e,t))},downloadFile:yr,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();mr(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?br("clipboard-write").then((t=>{vr(t,!1)?navigator.clipboard.writeText(e).then((()=>r(!0))).catch((()=>r(wr(e)))):r(wr(e))})).catch((()=>{r(wr(e))})):r(wr(e))})),queryPermission:br,isAllowed:vr,legacyCopy:wr};var $r={ossImage:(e,t={})=>{if(!e)return e;const r=Ft.parseUrl(e).url;if(t.domain){if(!e.startsWith("http"))return e;const r=mt.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=Ft.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(",")}`}};var xr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r},arrayBufferToString:function(e,t=!1){const r=new Uint8Array(e).reduce(((e,t)=>e+String.fromCharCode(t)),"");return t?btoa(r):r}};const kr=({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 Sr(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function Ar(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(gt.isPlainObject(e)){const r=Ft.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 qr{host="";reqConfig={};handleError;interceptors={request:new $t,response:new $t};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(Ar),this.interceptors.response.use(e.handleResponse||Sr),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){qr.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete qr.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=gt.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(qr.blockId,(()=>kr(s))),i=await qr.requestLock[qr.blockId].request;else if(qr.requestLock[qr.blockId]&&qr.requestLock[qr.blockId].lock&&await qr.requestLock[qr.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),qr.requestLock[e]||this.lockR(e,(()=>kr(s))),i=await qr.requestLock[e].request,this.unlockR(e)}else i=await kr(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}const jr={overrode:!1,tag:!1,format:"hh:mm:ss.SSS"},Cr=e=>(...t)=>{const r=console[e];jr.overrode?r(...t):Or(r,e,...t)},Or=(e,t,...r)=>{const n=g.format(new Date,jr.format),s=jr.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 Lr={override:()=>{if(jr.overrode)return;jr.overrode=!0;["log","info","warn","error"].forEach((e=>{const t=console[e];console[e]=(...r)=>{Or(t,e,...r)}}))},log:Cr("log"),info:Cr("info"),warn:Cr("warn"),error:Cr("error"),config:({tag:e=jr.tag,format:t=jr.format}={})=>{jr.tag=e,jr.format=t}};var Er={getDataURL:e=>{const t={contentType:"",dataUrl:""};return Q.to(fetch(e).then((e=>(t.contentType=e.headers.get("content-type")||"",e.arrayBuffer()))).then((e=>(t.dataUrl=`data:${t.contentType};base64,`+xr.arrayBufferToString(e,!0),t))))},getArrayBuffer:async e=>Q.to(fetch(e).then((e=>e.arrayBuffer()))),getJson:async e=>Q.to(fetch(e).then((e=>e.json()))),download:(e,t={})=>new Promise((r=>fetch(e).then((async e=>{if(!e.ok||200!==e.status)throw new Error(e.statusText);const n=+(e.headers.get("content-length")||""),s=e.body?.getReader();let i=0;const o=[];for(;;){const{done:e,value:r}=await s.read();if(e)break;o.push(r),i+=r.length;const a=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)}))))};const Fr=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,${lr.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}`}},Mr=(e,t,r)=>({key:e,fields:t,storage:r});class Rr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=re.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=ft.copy(e,{fields:this.fields});this.save(r)}}class Dr extends a{setters={};getters={};actions={};persist;constructor(){super()}async dispatch(e,t=void 0){const r=this,n=Reflect.get(r.actions,e);if(!R.isFunction(n))return;const[,s]=await re.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=ft.copy(t);else{const[,t]=await re.exec((()=>this.dispatch(e)),`${this.__eventId}_${e}`);r=t}return r}commit(e,t){R.isObject(t)&&(t=ft.copy(t)),this[e]=t}}const Tr=(e,t)=>{const r=Object.assign(new Dr,e||{});r.__persist=new Rr(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 R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.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 Pr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t,s=Ft.parseUrl(e)?.params||{};s["x-oss-process"]=`image/resize,w_${r},h_${n},m_fill`;const i=Ft.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=ur.base64.encodeByOss(n),i=Ft.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=ur.base64.encodeByOss(e),i=Ft.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const zr=(e,t)=>new Pr(e,t);class Ir{__list=[];__running=!1;__waitting=!1;constructor(){this.clear()}pipe(e){return this.__waitting||(e&&this.__list.push(e),this._step()),this}delay(e=0){return this.__waitting||(e&&this.__list.push((()=>re.delay(e))),this._step()),this}clear(){return this.__list=[],this.__waitting=!1,this.__running=!1,this}async _step(){if(this.__list.length<=0)return;if(this.__running)return;this.__running=!0;const e=this.__list.shift();await re.run(e),this.__running=!1,this.__waitting||this._step()}async whenAll(){for(this.__waitting=!0,await this._step();;)if(this.__running)await re.delay(100);else{if(this.__list.length<=0)break;await this._step()}return this.__waitting=!1,this.clear()}}class Nr{__list=[];constructor(){this.clear()}add(e){const t=re.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 Br=new class{state=Tr(new Dr);frame=new c;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||g.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&&!g.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=gt.copy(r);gt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||g.isToday(t.time||0)||delete r[e]})),this.setCache(t,r)};pipeline=()=>new Ir;parallel=()=>new Nr};class Ur{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=o(),this.start=Date.now(),this.timeStartDesc=g.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=g.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const Vr=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 Ur;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=ft.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 mt.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)))}},Hr={gbk:t,math:oe,list:mt,string:it,time:g,obj:ft,rule:nr,regex:sr,...xr,...ur,...gt,Event:a},Wr={...xr,...ur,...re},Zr={mini:St,css:pr,qs:Ft,icon:Fr,html:_r},Jr={cdn:$r,watermark:zr},Gr={Store:Dr,storeRef:Tr,Persist:Rr,persistConfig:Mr},Yr=Br,Kr=Vr,Xr=Lr,Qr={fetch:Er,Http:qr,css:pr,qs:Ft,icon:Fr,html:_r};var en={gbk:t,time:g,hook:re,math:oe,util:gt,list:mt,string:it,obj:ft,crypto:ur,mini:St,qs:Ft,css:pr,cdn:$r,html:_r,icon:Fr,rule:nr,regex:sr,convert:xr,Event:a,Http:qr,Store:Dr,storeRef:Tr,Persist:Rr,persistConfig:Mr,watermark:zr,joker:Br,tracker:Vr,logger:Lr,fetch:Er};e.dCdn=Jr,e.dHook=Wr,e.dJoker=Yr,e.dLogger=Xr,e.dMini=Zr,e.dStore=Gr,e.dTracker=Kr,e.dUtil=Hr,e.dWeb=Qr,e.default=en,Object.defineProperty(e,"__esModule",{value:!0})}));
package/bin/lib/index.js CHANGED
@@ -37,10 +37,10 @@ const dUtil = {
37
37
  string: string_1.default,
38
38
  time: time_1.default,
39
39
  obj: obj_1.default,
40
- crypto: crypto_1.default,
41
- convert: convert_1.default,
42
40
  rule: rule_1.default,
43
41
  regex: regex_1.default,
42
+ ...convert_1.default,
43
+ ...crypto_1.default,
44
44
  ...util_1.default,
45
45
  Event: event_1.default,
46
46
  };
@@ -6,7 +6,7 @@ const ossImage = (url, options = {}) => {
6
6
  if (!url)
7
7
  return url;
8
8
  const _map = qs_1.default.parseUrl(url);
9
- const _url = _map.path;
9
+ const _url = _map.url;
10
10
  if (options.domain) {
11
11
  if (!url.startsWith("http"))
12
12
  return url;
@@ -43,7 +43,7 @@ const ossSnapshot = (url, options = {}) => {
43
43
  if (!url)
44
44
  return url;
45
45
  const _map = qs_1.default.parseUrl(url);
46
- const _url = _map.path;
46
+ const _url = _map.url;
47
47
  const arr = ["snapshot"];
48
48
  const { m = "fast", f = "jpg" } = options;
49
49
  (options.t || options.t === 0) && arr.push(`t_${options.t}`);
@@ -57,7 +57,7 @@ const downloadUrl = (url, filename = '', checkSomeOrigin = false) => {
57
57
  if (!url)
58
58
  return;
59
59
  const map = qs_1.default.parseUrl(url);
60
- const _filename = filename || map.filename;
60
+ const _filename = filename || map.name;
61
61
  const sameOrigin = !filename || !checkSomeOrigin || !map.origin || map.origin === window.location.origin;
62
62
  if (sameOrigin) {
63
63
  _downloadUrl(url, _filename);
@@ -65,7 +65,7 @@ const downloadUrl = (url, filename = '', checkSomeOrigin = false) => {
65
65
  else {
66
66
  const params = map.params;
67
67
  params.t = Date.now();
68
- const _url = `${map.path}?${qs_1.default.stringify(params, { uri: false })}`;
68
+ const _url = `${map.url}?${qs_1.default.stringify(params, { uri: false })}`;
69
69
  const xhr = new XMLHttpRequest();
70
70
  xhr.open('GET', _url, true);
71
71
  xhr.responseType = 'blob';
@@ -9,55 +9,29 @@ const https = (url) => {
9
9
  };
10
10
  const RegHost = /^(http[s]?):\/\/([\w.]+)(?::(\d+))?/;
11
11
  const parseUrl = (url) => {
12
- let host = '';
13
- let origin = '';
14
- // if (/^http[s]?:\/\/([\w.]+)/.test(url)) {
15
- // host = url.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/, '$1')
16
- // origin = url.replace(/^(http[s]?:\/\/)([\w.]+)[\w\W]+/, '$1$2')
17
- // }
18
12
  const hostInfo = parseHost(url);
19
- if (hostInfo) {
20
- host = hostInfo.host;
21
- origin = hostInfo.origin;
22
- }
23
- const arr = url.split('?');
24
- const _path = arr[0];
25
- const query = arr.length > 1 ? arr[1] : '';
26
- let page = '';
27
- const mat = _path.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);
28
- if (mat) {
29
- page = mat[1];
30
- }
13
+ const { origin = '', url: _url = '', query = '' } = hostInfo;
14
+ const pathInfo = parsePath(_url);
31
15
  const params = (0, decode_1.default)(query, { multiple: true, uri: false });
32
- const idx = _path.lastIndexOf('/') + 1;
33
- const filename = _path.substring(idx);
34
- const last = filename.lastIndexOf('.');
35
- const filenameWithoutExtension = filename.substring(0, last);
36
- const extension = filename.substring(last);
37
- const root = _path.substring(0, idx);
38
- return {
39
- host,
40
- origin,
41
- url,
42
- path: _path,
43
- page,
44
- query,
45
- filename: filenameWithoutExtension ? filename : '',
46
- filenameWithoutExtension,
47
- extension: filenameWithoutExtension ? extension : '',
48
- route: filenameWithoutExtension ? root : '',
16
+ const result = {
17
+ ...hostInfo,
18
+ ...pathInfo,
19
+ pathname: _url.substring(_url.indexOf(origin || '') + origin.length),
49
20
  params,
50
21
  };
22
+ return result;
51
23
  };
52
- const parsePath = (path) => {
53
- const _path = (path || '').replace(/\\/g, '/').split('?')[0];
54
- const idx = _path.lastIndexOf('/') + 1;
55
- const name = _path.substring(idx);
24
+ const parsePath = (url) => {
25
+ const _url = (url || '').replace(/\\/g, '/').split('?')[0];
26
+ const mat = _url.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);
27
+ const page = mat ? mat[1] : '';
28
+ const idx = _url.lastIndexOf('/') + 1;
29
+ const name = _url.substring(idx);
56
30
  const last = name.lastIndexOf('.');
57
- const withoutExtension = name.substring(0, last);
58
- const extension = name.substring(last);
59
- const root = _path.substring(0, idx);
60
- return { root, name, withoutExtension, extension };
31
+ const withoutExtension = name.substring(0, last) || '';
32
+ const extname = last >= 0 ? name.substring(last) : '';
33
+ const route = _url.substring(0, idx) || '';
34
+ return { route, page, name, withoutExtension, extname };
61
35
  };
62
36
  const join = (...args) => {
63
37
  const arr = [];
@@ -70,18 +44,28 @@ const join = (...args) => {
70
44
  return arr.join('/');
71
45
  };
72
46
  const parseHost = (url) => {
47
+ const result = {
48
+ href: url,
49
+ url: '',
50
+ origin: '',
51
+ protocol: '',
52
+ host: '',
53
+ port: '',
54
+ query: '',
55
+ };
73
56
  if (!url)
74
- return undefined;
57
+ return result;
75
58
  const matches = url.match(RegHost);
76
59
  if (!matches || matches.length < 4)
77
- return undefined;
60
+ return result;
78
61
  const port = matches[3] || '';
79
- const result = {
80
- origin: matches[0],
81
- protocol: matches[1],
82
- host: `${matches[2]}${port ? ':' + port : ''}`,
83
- port,
84
- };
62
+ const arr = url.split('?');
63
+ result.url = arr[0];
64
+ result.origin = matches[0];
65
+ result.protocol = `${matches[1]}:`;
66
+ result.host = `${matches[2]}${port ? ':' + port : ''}`;
67
+ result.port = port;
68
+ result.query = arr.length > 1 ? arr[1] : '';
85
69
  return result;
86
70
  };
87
71
  exports.default = { parse: decode_1.default, stringify: encode_1.default, https, parseUrl, parsePath, parseHost, join };
@@ -50,6 +50,20 @@ declare const dUtil: {
50
50
  isPrototype: (value: any) => boolean;
51
51
  isArguments: (value: any) => boolean;
52
52
  isPromise: (value: any) => boolean;
53
+ base64: {
54
+ encode: (input: string) => string;
55
+ decode: (input: string) => string;
56
+ encodeByOss: (input: string) => string;
57
+ };
58
+ uuid: (len?: number, radix?: number) => string;
59
+ guid: (len: number, prefix?: boolean, sep?: string) => string;
60
+ keyNumber: string;
61
+ keyLower: string;
62
+ keyUpper: string;
63
+ keyChars: string;
64
+ uint8ArrayToString: (arr: any) => string;
65
+ stringToArrayBuffer: (str: any) => ArrayBuffer;
66
+ arrayBufferToString: (data: ArrayBuffer, base64?: boolean) => string;
53
67
  gbk: {
54
68
  gbkLength: (str: string) => number;
55
69
  gbkCut: (source: string, len: number) => string;
@@ -143,24 +157,6 @@ declare const dUtil: {
143
157
  observe: (obj: any, key: any, watchFun: any, owner: any, deep?: boolean) => void;
144
158
  find: (obj: any, cb: (k: string, v: any) => boolean) => [string, unknown] | undefined;
145
159
  };
146
- crypto: {
147
- base64: {
148
- encode: (input: string) => string;
149
- decode: (input: string) => string;
150
- encodeByOss: (input: string) => string;
151
- };
152
- uuid: (len?: number, radix?: number) => string;
153
- guid: (len: number, prefix?: boolean, sep?: string) => string;
154
- keyNumber: string;
155
- keyLower: string;
156
- keyUpper: string;
157
- keyChars: string;
158
- };
159
- convert: {
160
- uint8ArrayToString: (arr: any) => string;
161
- stringToArrayBuffer: (str: any) => ArrayBuffer;
162
- arrayBufferToString: (data: ArrayBuffer, base64?: boolean) => string;
163
- };
164
160
  rule: {
165
161
  validateId: (content: any) => boolean;
166
162
  validatePhone: (content: any) => boolean;
@@ -256,25 +252,29 @@ declare const dMini: {
256
252
  }) => string;
257
253
  https: (url: string) => string;
258
254
  parseUrl: (url: string) => {
259
- host: string;
260
- origin: string;
261
- url: string;
262
- path: string;
255
+ pathname: string;
256
+ params: {};
257
+ route: string;
263
258
  page: string;
259
+ name: string;
260
+ withoutExtension: string;
261
+ extname: string;
262
+ href: string;
263
+ url: string;
264
+ origin: string;
265
+ host: string;
266
+ protocol: string;
267
+ port: string;
264
268
  query: string;
265
- filename: string;
266
- filenameWithoutExtension: string;
267
- extension: string;
268
- route: string;
269
- params: {};
270
269
  };
271
- parsePath: (path: string) => {
272
- root: string;
270
+ parsePath: (url: string) => {
271
+ route: string;
272
+ page: string;
273
273
  name: string;
274
274
  withoutExtension: string;
275
- extension: string;
275
+ extname: string;
276
276
  };
277
- parseHost: (url: string) => import("./typings").Ddan.IHttpHost | undefined;
277
+ parseHost: (url: string) => import("./typings").Ddan.IHttpHost;
278
278
  join: (...args: string[]) => string;
279
279
  };
280
280
  icon: import("./class/icon").DIcon;
@@ -389,25 +389,29 @@ declare const dWeb: {
389
389
  }) => string;
390
390
  https: (url: string) => string;
391
391
  parseUrl: (url: string) => {
392
- host: string;
393
- origin: string;
394
- url: string;
395
- path: string;
392
+ pathname: string;
393
+ params: {};
394
+ route: string;
396
395
  page: string;
396
+ name: string;
397
+ withoutExtension: string;
398
+ extname: string;
399
+ href: string;
400
+ url: string;
401
+ origin: string;
402
+ host: string;
403
+ protocol: string;
404
+ port: string;
397
405
  query: string;
398
- filename: string;
399
- filenameWithoutExtension: string;
400
- extension: string;
401
- route: string;
402
- params: {};
403
406
  };
404
- parsePath: (path: string) => {
405
- root: string;
407
+ parsePath: (url: string) => {
408
+ route: string;
409
+ page: string;
406
410
  name: string;
407
411
  withoutExtension: string;
408
- extension: string;
412
+ extname: string;
409
413
  };
410
- parseHost: (url: string) => import("./typings").Ddan.IHttpHost | undefined;
414
+ parseHost: (url: string) => import("./typings").Ddan.IHttpHost;
411
415
  join: (...args: string[]) => string;
412
416
  };
413
417
  icon: import("./class/icon").DIcon;
@@ -634,25 +638,29 @@ declare const _default: {
634
638
  }) => string;
635
639
  https: (url: string) => string;
636
640
  parseUrl: (url: string) => {
637
- host: string;
638
- origin: string;
639
- url: string;
640
- path: string;
641
+ pathname: string;
642
+ params: {};
643
+ route: string;
641
644
  page: string;
645
+ name: string;
646
+ withoutExtension: string;
647
+ extname: string;
648
+ href: string;
649
+ url: string;
650
+ origin: string;
651
+ host: string;
652
+ protocol: string;
653
+ port: string;
642
654
  query: string;
643
- filename: string;
644
- filenameWithoutExtension: string;
645
- extension: string;
646
- route: string;
647
- params: {};
648
655
  };
649
- parsePath: (path: string) => {
650
- root: string;
656
+ parsePath: (url: string) => {
657
+ route: string;
658
+ page: string;
651
659
  name: string;
652
660
  withoutExtension: string;
653
- extension: string;
661
+ extname: string;
654
662
  };
655
- parseHost: (url: string) => import("./typings").Ddan.IHttpHost | undefined;
663
+ parseHost: (url: string) => import("./typings").Ddan.IHttpHost;
656
664
  join: (...args: string[]) => string;
657
665
  };
658
666
  css: {
@@ -1,4 +1,4 @@
1
- import { Ddan } from '../..';
1
+ import { Ddan } from '../../typings';
2
2
  declare const _default: {
3
3
  parse: (qs: any, { sep, eq, max, multiple, uri, parseNumber, parseBoolean }?: {
4
4
  sep?: string | undefined;
@@ -20,25 +20,29 @@ declare const _default: {
20
20
  }) => string;
21
21
  https: (url: string) => string;
22
22
  parseUrl: (url: string) => {
23
- host: string;
24
- origin: string;
25
- url: string;
26
- path: string;
23
+ pathname: string;
24
+ params: {};
25
+ route: string;
27
26
  page: string;
27
+ name: string;
28
+ withoutExtension: string;
29
+ extname: string;
30
+ href: string;
31
+ url: string;
32
+ origin: string;
33
+ host: string;
34
+ protocol: string;
35
+ port: string;
28
36
  query: string;
29
- filename: string;
30
- filenameWithoutExtension: string;
31
- extension: string;
32
- route: string;
33
- params: {};
34
37
  };
35
- parsePath: (path: string) => {
36
- root: string;
38
+ parsePath: (url: string) => {
39
+ route: string;
40
+ page: string;
37
41
  name: string;
38
42
  withoutExtension: string;
39
- extension: string;
43
+ extname: string;
40
44
  };
41
- parseHost: (url: string) => Ddan.IHttpHost | undefined;
45
+ parseHost: (url: string) => Ddan.IHttpHost;
42
46
  join: (...args: string[]) => string;
43
47
  };
44
48
  export default _default;
@@ -16,10 +16,13 @@ export declare namespace Ddan {
16
16
  type Func4<T0 = any, T1 = any, T2 = any, T3 = any, R = any> = Callback<[T0, T1, T2, T3], R>;
17
17
  type Result<T = any> = T | Promise<T>;
18
18
  interface IHttpHost {
19
+ href: string;
20
+ url: string;
19
21
  origin: string;
20
22
  host: string;
21
23
  protocol: string;
22
24
  port: string;
25
+ query: string;
23
26
  }
24
27
  interface IGetset<T> {
25
28
  set(value?: T): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddan-js",
3
- "version": "2.5.3",
3
+ "version": "2.5.5",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "ddan-js",