WIE-JAV番号搜索工具

番号搜索工具:检索当前网页所有番号:鼠标悬浮打开番号检索页面,并检索相关信息(预览图、预览视频、评分、演员信息、相关评论、磁链、支持在线视频网站的检测,检测无码破解/字幕等标识【支持网站:Jable、Missav、NJav、SuperAV、NETFLAV、Avgle、Javmenu、Guru、JavMost等等】、本地检索是否已下载【Emby,qbittorrent,115】); 支持查询演员详细信息;支持查看已阅番号演员三围排行榜;支持关注番号;支持关注演员,并查看所有关注演员最近番号发布信息

// ==UserScript==
// @name            WIE-JAV番号搜索工具
// @namespace       WIE@mumulink
// @version         2.0.3
// @author          mumulink
// @description     番号搜索工具:检索当前网页所有番号:鼠标悬浮打开番号检索页面,并检索相关信息(预览图、预览视频、评分、演员信息、相关评论、磁链、支持在线视频网站的检测,检测无码破解/字幕等标识【支持网站:Jable、Missav、NJav、SuperAV、NETFLAV、Avgle、Javmenu、Guru、JavMost等等】、本地检索是否已下载【Emby,qbittorrent,115】); 支持查询演员详细信息;支持查看已阅番号演员三围排行榜;支持关注番号;支持关注演员,并查看所有关注演员最近番号发布信息
// @include         *
// @icon            https://s1.ax1x.com/2023/08/12/pPuAYin.png
// @resource        success https://s1.ax1x.com/2022/04/01/q5l2LD.png
// @resource        info https://s1.ax1x.com/2022/04/01/q5lyz6.png
// @resource        warn https://s1.ax1x.com/2022/04/01/q5lgsO.png
// @resource        error https://s1.ax1x.com/2022/04/01/q5lcQK.png
// @connect         *
// @run-at          document-body
// @grant           unsafeWindow
// @require      https://cdn.jsdelivr.net/npm/m3u8-parser@4.7.1/dist/m3u8-parser.min.js
// @require      https://cdn.jsdelivr.net/npm/interactjs@1.10.17/dist/interact.min.js
// @grant           GM_removeValueChangeListener
// @grant           GM_addValueChangeListener
// @grant           GM_registerMenuCommand
// @grant           GM_getResourceURL
// @grant           GM_xmlhttpRequest
// @grant           GM_notification
// @grant           GM_setClipboard
// @grant           GM_deleteValue
// @grant           GM_addElement
// @grant           GM_listValues
// @grant           GM_openInTab
// @grant           GM_addStyle
// @grant           GM_getValue
// @grant           GM_setValue
// @grant           GM_info
// @grant           GM_download
// @license         GPL-3.0-only
// ==/UserScript==

/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./node_modules/.store/interactjs@1.10.17/node_modules/interactjs/dist/interact.min.js":
/*!*********************************************************************************************!*\
  !*** ./node_modules/.store/interactjs@1.10.17/node_modules/interactjs/dist/interact.min.js ***!
  \*********************************************************************************************/
/***/ ((module) => {

    eval("/* interact.js 1.10.17 | https://interactjs.io/license */\n!function(t){ true?module.exports=t():0}((function(){var t={};Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,\"__esModule\",{value:!0}),e.getWindow=function(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||r.window},e.init=o,e.window=e.realWindow=void 0;var n=void 0;e.realWindow=n;var r=void 0;function o(t){e.realWindow=n=t;var o=t.document.createTextNode(\"\");o.ownerDocument!==t.document&&\"function\"==typeof t.wrap&&t.wrap(o)===o&&(t=t.wrap(t)),e.window=r=t}e.window=r,\"undefined\"!=typeof window&&window&&o(window);var i={};function a(t){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},a(t)}Object.defineProperty(i,\"__esModule\",{value:!0}),i.default=void 0;var s=function(t){return!!t&&\"object\"===a(t)},l=function(t){return\"function\"==typeof t},u={window:function(n){return n===e.window||(0,t.default)(n)},docFrag:function(t){return s(t)&&11===t.nodeType},object:s,func:l,number:function(t){return\"number\"==typeof t},bool:function(t){return\"boolean\"==typeof t},string:function(t){return\"string\"==typeof t},element:function(t){if(!t||\"object\"!==a(t))return!1;var n=e.getWindow(t)||e.window;return/object|function/.test(\"undefined\"==typeof Element?\"undefined\":a(Element))?t instanceof Element||t instanceof n.Element:1===t.nodeType&&\"string\"==typeof t.nodeName},plainObject:function(t){return s(t)&&!!t.constructor&&/function Object\\b/.test(t.constructor.toString())},array:function(t){return s(t)&&void 0!==t.length&&l(t.splice)}};i.default=u;var c={};function f(t){var e=t.interaction;if(\"drag\"===e.prepared.name){var n=e.prepared.axis;\"x\"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):\"y\"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function d(t){var e=t.iEvent,n=t.interaction;if(\"drag\"===n.prepared.name){var r=n.prepared.axis;if(\"x\"===r||\"y\"===r){var o=\"x\"===r?\"y\":\"x\";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(c,\"__esModule\",{value:!0}),c.default=void 0;var p={id:\"actions/drag\",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=p.draggable,e.map.drag=p,e.methodDict.drag=\"draggable\",r.actions.drag=p.defaults},listeners:{\"interactions:before-action-move\":f,\"interactions:action-resume\":f,\"interactions:action-move\":d,\"auto-start:check\":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:\"drag\",axis:\"start\"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return i.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction(\"drag\",t),this.setOnEvents(\"drag\",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):i.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:f,move:d,defaults:{startAxis:\"xy\",lockAxis:\"xy\"},getCursor:function(){return\"move\"}},v=p;c.default=v;var h={};Object.defineProperty(h,\"__esModule\",{value:!0}),h.default=void 0;var g={init:function(t){var e=t;g.document=e.document,g.DocumentFragment=e.DocumentFragment||y,g.SVGElement=e.SVGElement||y,g.SVGSVGElement=e.SVGSVGElement||y,g.SVGElementInstance=e.SVGElementInstance||y,g.Element=e.Element||y,g.HTMLElement=e.HTMLElement||g.Element,g.Event=e.Event,g.Touch=e.Touch||y,g.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function y(){}var m=g;h.default=m;var b={};Object.defineProperty(b,\"__esModule\",{value:!0}),b.default=void 0;var x={init:function(t){var e=h.default.Element,n=t.navigator||{};x.supportsTouch=\"ontouchstart\"in t||i.default.func(t.DocumentTouch)&&h.default.document instanceof t.DocumentTouch,x.supportsPointerEvent=!1!==n.pointerEnabled&&!!h.default.PointerEvent,x.isIOS=/iP(hone|od|ad)/.test(n.platform),x.isIOS7=/iP(hone|od|ad)/.test(n.platform)&&/OS 7[^\\d]/.test(n.appVersion),x.isIe9=/MSIE 9/.test(n.userAgent),x.isOperaMobile=\"Opera\"===n.appName&&x.supportsTouch&&/Presto/.test(n.userAgent),x.prefixedMatchesSelector=\"matches\"in e.prototype?\"matches\":\"webkitMatchesSelector\"in e.prototype?\"webkitMatchesSelector\":\"mozMatchesSelector\"in e.prototype?\"mozMatchesSelector\":\"oMatchesSelector\"in e.prototype?\"oMatchesSelector\":\"msMatchesSelector\",x.pEventTypes=x.supportsPointerEvent?h.default.PointerEvent===t.MSPointerEvent?{up:\"MSPointerUp\",down:\"MSPointerDown\",over:\"mouseover\",out:\"mouseout\",move:\"MSPointerMove\",cancel:\"MSPointerCancel\"}:{up:\"pointerup\",down:\"pointerdown\",over:\"pointerover\",out:\"pointerout\",move:\"pointermove\",cancel:\"pointercancel\"}:null,x.wheelEvent=h.default.document&&\"onmousewheel\"in h.default.document?\"mousewheel\":\"wheel\"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null},w=x;b.default=w;var _={};function P(t){var e=t.parentNode;if(i.default.docFrag(e)){for(;(e=e.host)&&i.default.docFrag(e););return e}return e}function O(t,n){return e.window!==e.realWindow&&(n=n.replace(/\\/deep\\//g,\" \")),t[b.default.prefixedMatchesSelector](n)}Object.defineProperty(_,\"__esModule\",{value:!0}),_.closest=function(t,e){for(;i.default.element(t);){if(O(t,e))return t;t=P(t)}return null},_.getActualElement=function(t){return t.correspondingUseElement||t},_.getElementClientRect=j,_.getElementRect=function(t){var n=j(t);if(!b.default.isIOS7&&n){var r=T(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){for(var e=[];t;)e.push(t),t=P(t);return e},_.getScrollXY=T,_.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o<t.length;o++){var i=t[o],a=t[n];if(i&&o!==n)if(a){var s=E(i),l=E(a);if(s!==i.ownerDocument)if(l!==i.ownerDocument)if(s!==l){r=r.length?r:S(a);var u=void 0;if(a instanceof h.default.HTMLElement&&i instanceof h.default.SVGElement&&!(i instanceof h.default.SVGSVGElement)){if(i===l)continue;u=i.ownerSVGElement}else u=i;for(var c=S(u,a.ownerDocument),f=0;c[f]&&c[f]===r[f];)f++;var d=[c[f-1],c[f],r[f]];if(d[0])for(var p=d[0].lastChild;p;){if(p===d[1]){n=o,r=c;break}if(p===d[2])break;p=p.previousSibling}}else v=i,g=a,void 0,void 0,(parseInt(e.getWindow(v).getComputedStyle(v).zIndex,10)||0)>=(parseInt(e.getWindow(g).getComputedStyle(g).zIndex,10)||0)&&(n=o);else n=o}else n=o}var v,g;return n},_.matchesSelector=O,_.matchesUpTo=function(t,e,n){for(;i.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},_.nodeContains=function(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1},_.parentNode=P,_.trySelector=function(t){return!!i.default.string(t)&&(h.default.document.querySelector(t),!0)};var E=function(t){return t.parentNode||t.host};function S(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function T(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof h.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var M={};Object.defineProperty(M,\"__esModule\",{value:!0}),M.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function D(t,e,n){return\"parent\"===t?(0,_.parentNode)(n):\"self\"===t?e.getRect(n):(0,_.closest)(n,t)}Object.defineProperty(k,\"__esModule\",{value:!0}),k.addEdges=function(t,e,n){t.left&&(e.left+=n.x),t.right&&(e.right+=n.x),t.top&&(e.top+=n.y),t.bottom&&(e.bottom+=n.y),e.width=e.right-e.left,e.height=e.bottom-e.top},k.getStringOptionResult=D,k.rectToXY=function(t){return t&&{x:\"x\"in t?t.x:t.left,y:\"y\"in t?t.y:t.top}},k.resolveRectLike=function(t,e,n,r){var o,a=t;return i.default.string(a)?a=D(a,e,n):i.default.func(a)&&(a=a.apply(void 0,function(t){if(Array.isArray(t))return I(t)}(o=r)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(o)||function(t,e){if(t){if(\"string\"==typeof t)return I(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(t,e):void 0}}(o)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}())),i.default.element(a)&&(a=(0,_.getElementRect)(a)),a},k.tlbrToXywh=function(t){return!t||\"x\"in t&&\"y\"in t||((t=(0,M.default)({},t)).x=t.left||0,t.y=t.top||0,t.width=t.width||(t.right||0)-t.x,t.height=t.height||(t.bottom||0)-t.y),t},k.xywhToTlbr=function(t){return!t||\"left\"in t&&\"top\"in t||((t=(0,M.default)({},t)).left=t.x||0,t.top=t.y||0,t.right=t.right||t.left+t.width,t.bottom=t.bottom||t.top+t.height),t};var A={};Object.defineProperty(A,\"__esModule\",{value:!0}),A.default=function(t,e,n){var r=t.options[n],o=r&&r.origin||t.options.origin,i=(0,k.resolveRectLike)(o,t,e,[t&&e]);return(0,k.rectToXY)(i)||{x:0,y:0}};var z={};function C(t){return t.trim().split(/ +/)}Object.defineProperty(z,\"__esModule\",{value:!0}),z.default=function t(e,n,r){if(r=r||{},i.default.string(e)&&-1!==e.search(\" \")&&(e=C(e)),i.default.array(e))return e.reduce((function(e,o){return(0,M.default)(e,t(o,n,r))}),r);if(i.default.object(e)&&(n=e,e=\"\"),i.default.func(n))r[e]=r[e]||[],r[e].push(n);else if(i.default.array(n))for(var o=0;o<n.length;o++){var a;a=n[o],t(e,a,r)}else if(i.default.object(n))for(var s in n){var l=C(s).map((function(t){return\"\".concat(e).concat(t)}));t(l,n[s],r)}return r};var R={};Object.defineProperty(R,\"__esModule\",{value:!0}),R.default=void 0,R.default=function(t,e){return Math.sqrt(t*t+e*e)};var F={};Object.defineProperty(F,\"__esModule\",{value:!0}),F.default=function(t,e){t.__set||(t.__set={});var n=function(n){\"function\"!=typeof t[n]&&\"__set\"!==n&&Object.defineProperty(t,n,{get:function(){return n in t.__set?t.__set[n]:t.__set[n]=e[n]},set:function(e){t.__set[n]=e},configurable:!0})};for(var r in e)n(r);return t};var X={};function B(t){return t instanceof h.default.Event||t instanceof h.default.Touch}function Y(t,e,n){return t=t||\"page\",(n=n||{}).x=e[t+\"X\"],n.y=e[t+\"Y\"],n}function W(t,e){return e=e||{x:0,y:0},b.default.isOperaMobile&&B(t)?(Y(\"screen\",t,e),e.x+=window.scrollX,e.y+=window.scrollY):Y(\"page\",t,e),e}function L(t,e){return e=e||{},b.default.isOperaMobile&&B(t)?Y(\"screen\",t,e):Y(\"client\",t,e),e}function U(t){var e=[];return i.default.array(t)?(e[0]=t[0],e[1]=t[1]):\"touchend\"===t.type?1===t.touches.length?(e[0]=t.touches[0],e[1]=t.changedTouches[0]):0===t.touches.length&&(e[0]=t.changedTouches[0],e[1]=t.changedTouches[1]):(e[0]=t.touches[0],e[1]=t.touches[1]),e}function V(t){for(var e={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n<t.length;n++){var r=t[n];for(var o in e)e[o]+=r[o]}for(var i in e)e[i]/=t.length;return e}Object.defineProperty(X,\"__esModule\",{value:!0}),X.coordsToEvent=function(t){return{coords:t,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons},preventDefault:function(){}}},X.copyCoords=function(t,e){t.page=t.page||{},t.page.x=e.page.x,t.page.y=e.page.y,t.client=t.client||{},t.client.x=e.client.x,t.client.y=e.client.y,t.timeStamp=e.timeStamp},X.getClientXY=L,X.getEventTargets=function(t){var e=i.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},X.getPageXY=W,X.getPointerId=function(t){return i.default.number(t.pointerId)?t.pointerId:t.identifier},X.getPointerType=function(t){return i.default.string(t.pointerType)?t.pointerType:i.default.number(t.pointerType)?[void 0,void 0,\"touch\",\"pen\",\"mouse\"][t.pointerType]:/touch/.test(t.type||\"\")||t instanceof h.default.Touch?\"touch\":\"mouse\"},X.getTouchPair=U,X.getXY=Y,X.isNativePointer=B,X.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},X.pointerAverage=V,Object.defineProperty(X,\"pointerExtend\",{enumerable:!0,get:function(){return F.default}}),X.setCoordDeltas=function(t,e,n){t.page.x=n.page.x-e.page.x,t.page.y=n.page.y-e.page.y,t.client.x=n.client.x-e.client.x,t.client.y=n.client.y-e.client.y,t.timeStamp=n.timeStamp-e.timeStamp},X.setCoordVelocity=function(t,e){var n=Math.max(e.timeStamp/1e3,.001);t.page.x=e.page.x/n,t.page.y=e.page.y/n,t.client.x=e.client.x/n,t.client.y=e.client.y/n,t.timeStamp=n},X.setCoords=function(t,e,n){var r=e.length>1?V(e):e[0];W(r,t.page),L(r,t.client),t.timeStamp=n},X.setZeroCoords=function(t){t.page.x=0,t.page.y=0,t.client.x=0,t.client.y=0},X.touchAngle=function(t,e){var n=e+\"X\",r=e+\"Y\",o=U(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},X.touchBBox=function(t){if(!t.length)return null;var e=U(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},X.touchDistance=function(t,e){var n=e+\"X\",r=e+\"Y\",o=U(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,R.default)(i,a)};var N={};function q(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function G(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(N,\"__esModule\",{value:!0}),N.BaseEvent=void 0;var $=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),G(this,\"immediatePropagationStopped\",!1),G(this,\"propagationStopped\",!1),this._interaction=e}var e,n;return e=t,(n=[{key:\"preventDefault\",value:function(){}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}])&&q(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();N.BaseEvent=$,Object.defineProperty($.prototype,\"interaction\",{get:function(){return this._interaction._proxy},set:function(){}});var H={};Object.defineProperty(H,\"__esModule\",{value:!0}),H.remove=H.merge=H.from=H.findIndex=H.find=H.contains=void 0,H.contains=function(t,e){return-1!==t.indexOf(e)},H.remove=function(t,e){return t.splice(t.indexOf(e),1)};var K=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];t.push(r)}return t};H.merge=K,H.from=function(t){return K([],t)};var Z=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n],n,t))return n;return-1};H.findIndex=Z,H.find=function(t,e){return t[Z(t,e)]};var J={};function Q(t){return Q=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Q(t)}function tt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function et(t,e){return et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},et(t,e)}function nt(t,e){if(e&&(\"object\"===Q(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return rt(t)}function rt(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function ot(t){return ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},ot(t)}function it(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(J,\"__esModule\",{value:!0}),J.DropEvent=void 0;var at=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&et(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=ot(r);if(o){var n=ot(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return nt(this,t)});function a(t,e,n){var r;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,a),it(rt(r=i.call(this,e._interaction)),\"dropzone\",void 0),it(rt(r),\"dragEvent\",void 0),it(rt(r),\"relatedTarget\",void 0),it(rt(r),\"draggable\",void 0),it(rt(r),\"propagationStopped\",!1),it(rt(r),\"immediatePropagationStopped\",!1);var o=\"dragleave\"===n?t.prev:t.cur,s=o.element,l=o.dropzone;return r.type=n,r.target=s,r.currentTarget=s,r.dropzone=l,r.dragEvent=e,r.relatedTarget=e.target,r.draggable=e.interactable,r.timeStamp=e.timeStamp,r}return e=a,(n=[{key:\"reject\",value:function(){var t=this,e=this._interaction.dropState;if(\"dropactivate\"===this.type||this.dropzone&&e.cur.dropzone===this.dropzone&&e.cur.element===this.target)if(e.prev.dropzone=this.dropzone,e.prev.element=this.target,e.rejected=!0,e.events.enter=null,this.stopImmediatePropagation(),\"dropactivate\"===this.type){var n=e.activeDrops,r=H.findIndex(n,(function(e){var n=e.dropzone,r=e.element;return n===t.dropzone&&r===t.target}));e.activeDrops.splice(r,1);var o=new a(e,this.dragEvent,\"dropdeactivate\");o.dropzone=this.dropzone,o.target=this.target,this.dropzone.fire(o)}else this.dropzone.fire(new a(e,this.dragEvent,\"dragleave\"))}},{key:\"preventDefault\",value:function(){}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}])&&tt(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),a}(N.BaseEvent);J.DropEvent=at;var st={};function lt(t,e){for(var n=0;n<t.slice().length;n++){var r=t.slice()[n],o=r.dropzone,i=r.element;e.dropzone=o,e.target=i,o.fire(e),e.propagationStopped=e.immediatePropagationStopped=!1}}function ut(t,e){for(var n=function(t,e){for(var n=t.interactables,r=[],o=0;o<n.list.length;o++){var a=n.list[o];if(a.options.drop.enabled){var s=a.options.drop.accept;if(!(i.default.element(s)&&s!==e||i.default.string(s)&&!_.matchesSelector(e,s)||i.default.func(s)&&!s({dropzone:a,draggableElement:e})))for(var l=i.default.string(a.target)?a._context.querySelectorAll(a.target):i.default.array(a.target)?a.target:[a.target],u=0;u<l.length;u++){var c=l[u];c!==e&&r.push({dropzone:a,element:c,rect:a.getRect(c)})}}}return r}(t,e),r=0;r<n.length;r++){var o=n[r];o.rect=o.dropzone.getRect(o.element)}return n}function ct(t,e,n){for(var r=t.dropState,o=t.interactable,i=t.element,a=[],s=0;s<r.activeDrops.length;s++){var l=r.activeDrops[s],u=l.dropzone,c=l.element,f=l.rect;a.push(u.dropCheck(e,n,o,i,c,f)?c:null)}var d=_.indexOfDeepestElement(a);return r.activeDrops[d]||null}function ft(t,e,n){var r=t.dropState,o={enter:null,leave:null,activate:null,deactivate:null,move:null,drop:null};return\"dragstart\"===n.type&&(o.activate=new J.DropEvent(r,n,\"dropactivate\"),o.activate.target=null,o.activate.dropzone=null),\"dragend\"===n.type&&(o.deactivate=new J.DropEvent(r,n,\"dropdeactivate\"),o.deactivate.target=null,o.deactivate.dropzone=null),r.rejected||(r.cur.element!==r.prev.element&&(r.prev.dropzone&&(o.leave=new J.DropEvent(r,n,\"dragleave\"),n.dragLeave=o.leave.target=r.prev.element,n.prevDropzone=o.leave.dropzone=r.prev.dropzone),r.cur.dropzone&&(o.enter=new J.DropEvent(r,n,\"dragenter\"),n.dragEnter=r.cur.element,n.dropzone=r.cur.dropzone)),\"dragend\"===n.type&&r.cur.dropzone&&(o.drop=new J.DropEvent(r,n,\"drop\"),n.dropzone=r.cur.dropzone,n.relatedTarget=r.cur.element),\"dragmove\"===n.type&&r.cur.dropzone&&(o.move=new J.DropEvent(r,n,\"dropmove\"),o.move.dragmove=n,n.dropzone=r.cur.dropzone)),o}function dt(t,e){var n=t.dropState,r=n.activeDrops,o=n.cur,i=n.prev;e.leave&&i.dropzone.fire(e.leave),e.enter&&o.dropzone.fire(e.enter),e.move&&o.dropzone.fire(e.move),e.drop&&o.dropzone.fire(e.drop),e.deactivate&&lt(r,e.deactivate),n.prev.dropzone=o.dropzone,n.prev.element=o.element}function pt(t,e){var n=t.interaction,r=t.iEvent,o=t.event;if(\"dragmove\"===r.type||\"dragend\"===r.type){var i=n.dropState;e.dynamicDrop&&(i.activeDrops=ut(e,n.element));var a=r,s=ct(n,a,o);i.rejected=i.rejected&&!!s&&s.dropzone===i.cur.dropzone&&s.element===i.cur.element,i.cur.dropzone=s&&s.dropzone,i.cur.element=s&&s.element,i.events=ft(n,0,a)}}Object.defineProperty(st,\"__esModule\",{value:!0}),st.default=void 0;var vt={id:\"actions/drop\",install:function(t){var e=t.actions,n=t.interactStatic,r=t.Interactable,o=t.defaults;t.usePlugin(c.default),r.prototype.dropzone=function(t){return function(t,e){if(i.default.object(e)){if(t.options.drop.enabled=!1!==e.enabled,e.listeners){var n=(0,z.default)(e.listeners),r=Object.keys(n).reduce((function(t,e){return t[/^(enter|leave)/.test(e)?\"drag\".concat(e):/^(activate|deactivate|move)/.test(e)?\"drop\".concat(e):e]=n[e],t}),{});t.off(t.options.drop.listeners),t.on(r),t.options.drop.listeners=r}return i.default.func(e.ondrop)&&t.on(\"drop\",e.ondrop),i.default.func(e.ondropactivate)&&t.on(\"dropactivate\",e.ondropactivate),i.default.func(e.ondropdeactivate)&&t.on(\"dropdeactivate\",e.ondropdeactivate),i.default.func(e.ondragenter)&&t.on(\"dragenter\",e.ondragenter),i.default.func(e.ondragleave)&&t.on(\"dragleave\",e.ondragleave),i.default.func(e.ondropmove)&&t.on(\"dropmove\",e.ondropmove),/^(pointer|center)$/.test(e.overlap)?t.options.drop.overlap=e.overlap:i.default.number(e.overlap)&&(t.options.drop.overlap=Math.max(Math.min(1,e.overlap),0)),\"accept\"in e&&(t.options.drop.accept=e.accept),\"checker\"in e&&(t.options.drop.checker=e.checker),t}return i.default.bool(e)?(t.options.drop.enabled=e,t):t.options.drop}(this,t)},r.prototype.dropCheck=function(t,e,n,r,o,a){return function(t,e,n,r,o,a,s){var l=!1;if(!(s=s||t.getRect(a)))return!!t.options.drop.checker&&t.options.drop.checker(e,n,l,t,a,r,o);var u=t.options.drop.overlap;if(\"pointer\"===u){var c=(0,A.default)(r,o,\"drag\"),f=X.getPageXY(e);f.x+=c.x,f.y+=c.y;var d=f.x>s.left&&f.x<s.right,p=f.y>s.top&&f.y<s.bottom;l=d&&p}var v=r.getRect(o);if(v&&\"center\"===u){var h=v.left+v.width/2,g=v.top+v.height/2;l=h>=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}return v&&i.default.number(u)&&(l=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height)>=u),t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,a,r,o)),l}(this,t,e,n,r,o,a)},n.dynamicDrop=function(e){return i.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,M.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop=\"dropzone\",t.dynamicDrop=!1,o.actions.drop=vt.defaults},listeners:{\"interactions:before-action-start\":function(t){var e=t.interaction;\"drag\"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},\"interactions:after-action-start\":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if(\"drag\"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ut(e,n.element),o.events=ft(n,0,r),o.events.activate&&(lt(o.activeDrops,o.events.activate),e.fire(\"actions/drop:start\",{interaction:n,dragEvent:r}))}},\"interactions:action-move\":pt,\"interactions:after-action-move\":function(t,e){var n=t.interaction,r=t.iEvent;\"drag\"===n.prepared.name&&(dt(n,n.dropState.events),e.fire(\"actions/drop:move\",{interaction:n,dragEvent:r}),n.dropState.events={})},\"interactions:action-end\":function(t,e){if(\"drag\"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire(\"actions/drop:end\",{interaction:n,dragEvent:r})}},\"interactions:stop\":function(t){var e=t.interaction;if(\"drag\"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ut,getDrop:ct,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:\"pointer\"}},ht=vt;st.default=ht;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if(\"gesture\"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),a=\"start\"===r,s=\"end\"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=X.touchDistance(o,l),n.box=X.touchBBox(o),n.scale=1,n.ds=0,n.angle=X.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=X.touchDistance(o,l),n.box=X.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=X.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,i.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,\"__esModule\",{value:!0}),gt.default=void 0;var mt={id:\"actions/gesture\",before:[\"actions/drag\",\"actions/resize\"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return i.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction(\"gesture\",t),this.setOnEvents(\"gesture\",t),this):i.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture=\"gesturable\",r.actions.gesture=mt.defaults},listeners:{\"interactions:action-start\":yt,\"interactions:action-move\":yt,\"interactions:action-end\":yt,\"interactions:new\":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},\"auto-start:check\":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:\"gesture\"},!1}}},defaults:{},getCursor:function(){return\"\"}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,o,a,s){if(!e)return!1;if(!0===e){var l=i.default.number(a.width)?a.width:a.right-a.left,u=i.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs((\"left\"===t||\"right\"===t?l:u)/2)),l<0&&(\"left\"===t?t=\"right\":\"right\"===t&&(t=\"left\")),u<0&&(\"top\"===t?t=\"bottom\":\"bottom\"===t&&(t=\"top\")),\"left\"===t){var c=l>=0?a.left:a.right;return n.x<c+s}if(\"top\"===t){var f=u>=0?a.top:a.bottom;return n.y<f+s}if(\"right\"===t)return n.x>(l>=0?a.right:a.left)-s;if(\"bottom\"===t)return n.y>(u>=0?a.bottom:a.top)-s}return!!i.default.element(r)&&(i.default.element(e)?e===r:_.matchesUpTo(r,e,o))}function _t(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?(\"y\"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes=\"xy\"):(r.axes=n.resizeAxes,\"x\"===n.resizeAxes?r.delta.y=0:\"y\"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,\"__esModule\",{value:!0}),xt.default=void 0;var Pt={id:\"actions/resize\",before:[\"actions/drag\"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Pt.cursors=function(t){return t.isIe9?{x:\"e-resize\",y:\"s-resize\",xy:\"se-resize\",top:\"n-resize\",left:\"w-resize\",bottom:\"s-resize\",right:\"e-resize\",topleft:\"se-resize\",bottomright:\"se-resize\",topright:\"ne-resize\",bottomleft:\"ne-resize\"}:{x:\"ew-resize\",y:\"ns-resize\",xy:\"nwse-resize\",top:\"ns-resize\",left:\"ew-resize\",bottom:\"ns-resize\",right:\"ew-resize\",topleft:\"nwse-resize\",bottomright:\"nwse-resize\",topright:\"nesw-resize\",bottomleft:\"nesw-resize\"}}(n),Pt.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return i.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction(\"resize\",e),t.setOnEvents(\"resize\",e),i.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),i.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:i.default.bool(e.square)&&(t.options.resize.square=e.square),t):i.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Pt,e.methodDict.resize=\"resizable\",o.actions.resize=Pt.defaults},listeners:{\"interactions:new\":function(t){t.interaction.resizeAxes=\"xy\"},\"interactions:action-start\":function(t){!function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,M.default)({},o),corrected:(0,M.default)({},o),previous:(0,M.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),_t(t)},\"interactions:action-move\":function(t){!function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i=\"reposition\"===o||\"negate\"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,M.default)(f,u),i){if((0,M.default)(u,a),\"reposition\"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),_t(t)},\"interactions:action-end\":function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},\"auto-start:check\":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,a=t.buttons;if(o){var s=(0,M.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&l.mouseButtons))){if(i.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=wt(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Pt.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:\"resize\",edges:u})}else{var f=\"y\"!==l.axis&&s.x>o.right-Pt.defaultMargin,d=\"x\"!==l.axis&&s.y>o.bottom-Pt.defaultMargin;(f||d)&&(t.action={name:\"resize\",axes:(f?\"x\":\"\")+(d?\"y\":\"\")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:\"xy\",margin:NaN,edges:null,invert:\"none\"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Pt.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a=\"\",s=[\"top\",\"bottom\",\"left\",\"right\"],l=0;l<s.length;l++){var u=s[l];e[u]&&(a+=u)}i=o[a]}return i},defaultMargin:null},Ot=Pt;xt.default=Ot;var Et={};Object.defineProperty(Et,\"__esModule\",{value:!0}),Et.default=void 0;var St={id:\"actions\",install:function(t){t.usePlugin(gt.default),t.usePlugin(xt.default),t.usePlugin(c.default),t.usePlugin(st.default)}};Et.default=St;var Tt={};Object.defineProperty(Tt,\"__esModule\",{value:!0}),Tt.default=void 0;var jt,Mt,kt=0,It={request:function(t){return jt(t)},cancel:function(t){return Mt(t)},init:function(t){if(jt=t.requestAnimationFrame,Mt=t.cancelAnimationFrame,!jt)for(var e=[\"ms\",\"moz\",\"webkit\",\"o\"],n=0;n<e.length;n++){var r=e[n];jt=t[\"\".concat(r,\"RequestAnimationFrame\")],Mt=t[\"\".concat(r,\"CancelAnimationFrame\")]||t[\"\".concat(r,\"CancelRequestAnimationFrame\")]}jt=jt&&jt.bind(t),Mt=Mt&&Mt.bind(t),jt||(jt=function(e){var n=Date.now(),r=Math.max(0,16-(n-kt)),o=t.setTimeout((function(){e(n+r)}),r);return kt=n+r,o},Mt=function(t){return clearTimeout(t)})}};Tt.default=It;var Dt={};Object.defineProperty(Dt,\"__esModule\",{value:!0}),Dt.default=void 0,Dt.getContainer=zt,Dt.getScroll=Ct,Dt.getScrollSize=function(t){return i.default.window(t)&&(t=window.document.body),{x:t.scrollWidth,y:t.scrollHeight}},Dt.getScrollSizeDelta=function(t,e){var n=t.interaction,r=t.element,o=n&&n.interactable.options[n.prepared.name].autoScroll;if(!o||!o.enabled)return e(),{x:0,y:0};var i=zt(o.container,n.interactable,r),a=Ct(i);e();var s=Ct(i);return{x:s.x-a.x,y:s.y-a.y}};var At={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:0,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(t){At.isScrolling=!0,Tt.default.cancel(At.i),t.autoScroll=At,At.interaction=t,At.prevTime=At.now(),At.i=Tt.default.request(At.scroll)},stop:function(){At.isScrolling=!1,At.interaction&&(At.interaction.autoScroll=null),Tt.default.cancel(At.i)},scroll:function(){var t=At.interaction,e=t.interactable,n=t.element,r=t.prepared.name,o=e.options[r].autoScroll,a=zt(o.container,e,n),s=At.now(),l=(s-At.prevTime)/1e3,u=o.speed*l;if(u>=1){var c={x:At.x*u,y:At.y*u};if(c.x||c.y){var f=Ct(a);i.default.window(a)?a.scrollBy(c.x,c.y):a&&(a.scrollLeft+=c.x,a.scrollTop+=c.y);var d=Ct(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:\"autoscroll\",target:n,interactable:e,delta:p,interaction:t,container:a})}At.prevTime=s}At.isScrolling&&(Tt.default.cancel(At.i),At.i=Tt.default.request(At.scroll))},check:function(t,e){var n;return null==(n=t.options[e].autoScroll)?void 0:n.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&At.check(e.interactable,e.prepared.name))if(e.simulation)At.x=At.y=0;else{var r,o,a,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=zt(f.container,l,u);if(i.default.window(d))s=n.clientX<At.margin,r=n.clientY<At.margin,o=n.clientX>d.innerWidth-At.margin,a=n.clientY>d.innerHeight-At.margin;else{var p=_.getElementClientRect(d);s=n.clientX<p.left+At.margin,r=n.clientY<p.top+At.margin,o=n.clientX>p.right-At.margin,a=n.clientY>p.bottom-At.margin}At.x=o?1:s?-1:0,At.y=a?1:r?-1:0,At.isScrolling||(At.margin=f.margin,At.speed=f.speed,At.start(e))}}};function zt(t,n,r){return(i.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Ct(t){return i.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Rt={id:\"auto-scroll\",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=At,At.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=At.defaults},listeners:{\"interactions:new\":function(t){t.interaction.autoScroll=null},\"interactions:destroy\":function(t){t.interaction.autoScroll=null,At.stop(),At.interaction&&(At.interaction=null)},\"interactions:stop\":At.stop,\"interactions:action-move\":function(t){return At.onInteractionMove(t)}}},Ft=Rt;Dt.default=Ft;var Xt={};Object.defineProperty(Xt,\"__esModule\",{value:!0}),Xt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t},Xt.sign=void 0,Xt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Xt.sign=function(t){return t>=0?1:-1};var Bt={};function Yt(t){return i.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Wt(t){return i.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Bt,\"__esModule\",{value:!0}),Bt.default=void 0;var Lt={id:\"auto-start/interactableMethods\",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:e.buttons||{0:1,1:4,3:8,4:16}[e.button]};return o.fire(\"auto-start:check\",a),a.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption(\"ignoreFrom\",t)}),\"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).\"),e.prototype.allowFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption(\"allowFrom\",t)}),\"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).\"),e.prototype.actionChecker=Wt,e.prototype.styleCursor=Yt}};Bt.default=Lt;var Ut={};function Vt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&$t(e,n,t,o)?t:null}function Nt(t,e,n,r,o,i,a){for(var s=0,l=r.length;s<l;s++){var u=r[s],c=o[s],f=u.getAction(e,n,t,c);if(f){var d=Vt(f,u,c,i,a);if(d)return{action:d,interactable:u,element:c}}}return{action:null,interactable:null,element:null}}function qt(t,e,n,r,o){var a=[],s=[],l=r;function u(t){a.push(t),s.push(l)}for(;i.default.element(l);){a=[],s=[],o.interactables.forEachMatch(l,u);var c=Nt(t,e,n,a,s,r,o);if(c.action&&!c.interactable.options[c.action.name].manualStart)return c;l=_.parentNode(l)}return{action:null,interactable:null,element:null}}function Gt(t,e,n){var r=e.action,o=e.interactable,i=e.element;r=r||{name:null},t.interactable=o,t.element=i,(0,Xt.copyAction)(t.prepared,r),t.rect=o&&r.name?o.getRect(i):null,Zt(t,n),n.fire(\"autoStart:prepared\",{interaction:t})}function $t(t,e,n,r){var o=t.options,i=o[n.name].max,a=o[n.name].maxPerElement,s=r.autoStart.maxInteractions,l=0,u=0,c=0;if(!(i&&a&&s))return!1;for(var f=0;f<r.interactions.list.length;f++){var d=r.interactions.list[f],p=d.prepared.name;if(d.interacting()){if(++l>=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Ht(t,e){return i.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Kt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=\"\"),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Zt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if(\"mouse\"===t.pointerType&&n&&n.options.styleCursor){var a=\"\";if(o.name){var s=n.options[o.name].cursorChecker;a=i.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Kt(t.element,a||\"\",e)}else e.autoStart.cursorElement&&Kt(e.autoStart.cursorElement,\"\",e)}Object.defineProperty(Ut,\"__esModule\",{value:!0}),Ut.default=void 0;var Jt={id:\"auto-start/base\",before:[\"actions\"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Bt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,M.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Ht(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:$t,cursorElement:null}},listeners:{\"interactions:down\":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Gt(n,qt(n,r,o,i,e),e)},\"interactions:move\":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;\"mouse\"!==n.pointerType||n.pointerIsDown||n.interacting()||Gt(n,qt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire(\"autoStart:before-start\",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!$t(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Zt(n,e)))}}(t,e)},\"interactions:stop\":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Kt(n.element,\"\",e)}},maxInteractions:Ht,withinInteractionLimit:$t,validateAction:Vt},Qt=Jt;Ut.default=Qt;var te={};Object.defineProperty(te,\"__esModule\",{value:!0}),te.default=void 0;var ee={id:\"auto-start/dragAxis\",listeners:{\"autoStart:before-start\":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,a=t.dy;if(\"drag\"===n.prepared.name){var s=Math.abs(o),l=Math.abs(a),u=n.interactable.options.drag,c=u.startAxis,f=s>l?\"x\":s<l?\"y\":\"xy\";if(n.prepared.axis=\"start\"===u.lockAxis?f[0]:u.lockAxis,\"xy\"!==f&&\"xy\"!==c&&c!==f){n.prepared.name=null;for(var d=r,p=function(t){if(t!==n.interactable){var o=n.interactable.options.drag;if(!o.manualStart&&t.testIgnoreAllow(o,d,r)){var i=t.getAction(n.downPointer,n.downEvent,n,d);if(i&&\"drag\"===i.name&&function(t,e){if(!e)return!1;var n=e.options.drag.startAxis;return\"xy\"===t||\"xy\"===n||n===t}(f,t)&&Ut.default.validateAction(i,t,d,r,e))return t}}};i.default.element(d);){var v=e.interactables.forEachMatch(d,p);if(v){n.prepared.name=\"drag\",n.interactable=v,n.element=d;break}d=(0,_.parentNode)(d)}}}}}};te.default=ee;var ne={};function re(t){var e=t.prepared&&t.prepared.name;if(!e)return null;var n=t.interactable.options;return n[e].hold||n[e].delay}Object.defineProperty(ne,\"__esModule\",{value:!0}),ne.default=void 0;var oe={id:\"auto-start/hold\",install:function(t){var e=t.defaults;t.usePlugin(Ut.default),e.perAction.hold=0,e.perAction.delay=0},listeners:{\"interactions:new\":function(t){t.interaction.autoStartHoldTimer=null},\"autoStart:prepared\":function(t){var e=t.interaction,n=re(e);n>0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},\"interactions:move\":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},\"autoStart:before-start\":function(t){var e=t.interaction;re(e)>0&&(e.prepared.name=null)}},getHoldDuration:re},ie=oe;ne.default=ie;var ae={};Object.defineProperty(ae,\"__esModule\",{value:!0}),ae.default=void 0;var se={id:\"auto-start\",install:function(t){t.usePlugin(Ut.default),t.usePlugin(ne.default),t.usePlugin(te.default)}};ae.default=se;var le={};function ue(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):i.default.bool(t)?(this.options.preventDefault=t?\"always\":\"never\",this):this.options.preventDefault}function ce(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function fe(t){var n=t.Interactable;n.prototype.preventDefault=ue,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if(\"never\"!==o)if(\"always\"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||i.default.element(r.target)&&(0,_.matchesSelector)(r.target,\"input,select,textarea,[contenteditable=true],[contenteditable=true] *\")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:\"dragstart\",listener:function(e){for(var n=0;n<t.interactions.list.length;n++){var r=t.interactions.list[n];if(r.element&&(r.element===e.target||(0,_.nodeContains)(r.element,e.target)))return void r.interactable.checkAndPreventDefault(e)}}})}Object.defineProperty(le,\"__esModule\",{value:!0}),le.default=void 0,le.install=fe;var de={id:\"core/interactablePreventDefault\",install:fe,listeners:[\"down\",\"move\",\"up\",\"cancel\"].reduce((function(t,e){return t[\"interactions:\".concat(e)]=ce,t}),{})};le.default=de;var pe={};Object.defineProperty(pe,\"__esModule\",{value:!0}),pe.default=void 0,pe.default={};var ve,he={};Object.defineProperty(he,\"__esModule\",{value:!0}),he.default=void 0,function(t){t.touchAction=\"touchAction\",t.boxSizing=\"boxSizing\",t.noListeners=\"noListeners\"}(ve||(ve={}));ve.touchAction,ve.boxSizing,ve.noListeners;var ge={id:\"dev-tools\",install:function(){}};he.default=ge;var ye={};Object.defineProperty(ye,\"__esModule\",{value:!0}),ye.default=function t(e){var n={};for(var r in e){var o=e[r];i.default.plainObject(o)?n[r]=t(o):i.default.array(o)?n[r]=H.from(o):n[r]=o}return n};var me={};function be(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return xe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xe(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function xe(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function we(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function _e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(me,\"__esModule\",{value:!0}),me.default=void 0,me.getRectOffset=Ee;var Pe=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),_e(this,\"states\",[]),_e(this,\"startOffset\",{left:0,right:0,top:0,bottom:0}),_e(this,\"startDelta\",void 0),_e(this,\"result\",void 0),_e(this,\"endResult\",void 0),_e(this,\"edges\",void 0),_e(this,\"interaction\",void 0),this.interaction=e,this.result=Oe()}var e,n;return e=t,(n=[{key:\"start\",value:function(t,e){var n=t.phase,r=this.interaction,o=function(t){var e=t.interactable.options[t.prepared.name],n=e.modifiers;return n&&n.length?n:[\"snap\",\"snapSize\",\"snapEdges\",\"restrict\",\"restrictEdges\",\"restrictSize\"].map((function(t){var n=e[t];return n&&n.enabled&&{options:n,methods:n._methods}})).filter((function(t){return!!t}))}(r);this.prepareStates(o),this.edges=(0,M.default)({},r.edges),this.startOffset=Ee(r.rect,e),this.startDelta={x:0,y:0};var i=this.fillArg({phase:n,pageCoords:e,preEnd:!1});return this.result=Oe(),this.startAll(i),this.result=this.setAll(i)}},{key:\"fillArg\",value:function(t){var e=this.interaction;return t.interaction=e,t.interactable=e.interactable,t.element=e.element,t.rect=t.rect||e.rect,t.edges=this.edges,t.startOffset=this.startOffset,t}},{key:\"startAll\",value:function(t){for(var e=0;e<this.states.length;e++){var n=this.states[e];n.methods.start&&(t.state=n,n.methods.start(t))}}},{key:\"setAll\",value:function(t){var e=t.phase,n=t.preEnd,r=t.skipModifiers,o=t.rect;t.coords=(0,M.default)({},t.pageCoords),t.rect=(0,M.default)({},o);for(var i=r?this.states.slice(r):this.states,a=Oe(t.coords,t.rect),s=0;s<i.length;s++){var l,u=i[s],c=u.options,f=(0,M.default)({},t.coords),d=null;null!=(l=u.methods)&&l.set&&this.shouldDo(c,n,e)&&(t.state=u,d=u.methods.set(t),k.addEdges(this.interaction.edges,t.rect,{x:t.coords.x-f.x,y:t.coords.y-f.y})),a.eventProps.push(d)}a.delta.x=t.coords.x-t.pageCoords.x,a.delta.y=t.coords.y-t.pageCoords.y,a.rectDelta.left=t.rect.left-o.left,a.rectDelta.right=t.rect.right-o.right,a.rectDelta.top=t.rect.top-o.top,a.rectDelta.bottom=t.rect.bottom-o.bottom;var p=this.result.coords,v=this.result.rect;if(p&&v){var h=a.rect.left!==v.left||a.rect.right!==v.right||a.rect.top!==v.top||a.rect.bottom!==v.bottom;a.changed=h||p.x!==a.coords.x||p.y!==a.coords.y}return a}},{key:\"applyToInteraction\",value:function(t){var e=this.interaction,n=t.phase,r=e.coords.cur,o=e.coords.start,i=this.result,a=this.startDelta,s=i.delta;\"start\"===n&&(0,M.default)(this.startDelta,i.delta);for(var l=0;l<[[o,a],[r,s]].length;l++){var u=be([[o,a],[r,s]][l],2),c=u[0],f=u[1];c.page.x+=f.x,c.page.y+=f.y,c.client.x+=f.x,c.client.y+=f.y}var d=this.result.rectDelta,p=t.rect||e.rect;p.left+=d.left,p.right+=d.right,p.top+=d.top,p.bottom+=d.bottom,p.width=p.right-p.left,p.height=p.bottom-p.top}},{key:\"setAndApply\",value:function(t){var e=this.interaction,n=t.phase,r=t.preEnd,o=t.skipModifiers,i=this.setAll(this.fillArg({preEnd:r,phase:n,pageCoords:t.modifiedCoords||e.coords.cur.page}));if(this.result=i,!i.changed&&(!o||o<this.states.length)&&e.interacting())return!1;if(t.modifiedCoords){var a=e.coords.cur.page,s={x:t.modifiedCoords.x-a.x,y:t.modifiedCoords.y-a.y};i.coords.x+=s.x,i.coords.y+=s.y,i.delta.x+=s.x,i.delta.y+=s.y}this.applyToInteraction(t)}},{key:\"beforeEnd\",value:function(t){var e=t.interaction,n=t.event,r=this.states;if(r&&r.length){for(var o=!1,i=0;i<r.length;i++){var a=r[i];t.state=a;var s=a.options,l=a.methods,u=l.beforeEnd&&l.beforeEnd(t);if(u)return this.endResult=u,!1;o=o||!o&&this.shouldDo(s,!0,t.phase,!0)}o&&e.move({event:n,preEnd:!0})}}},{key:\"stop\",value:function(t){var e=t.interaction;if(this.states&&this.states.length){var n=(0,M.default)({states:this.states,interactable:e.interactable,element:e.element,rect:null},t);this.fillArg(n);for(var r=0;r<this.states.length;r++){var o=this.states[r];n.state=o,o.methods.stop&&o.methods.stop(n)}this.states=null,this.endResult=null}}},{key:\"prepareStates\",value:function(t){this.states=[];for(var e=0;e<t.length;e++){var n=t[e],r=n.options,o=n.methods,i=n.name;this.states.push({options:r,methods:o,index:e,name:i})}return this.states}},{key:\"restoreInteractionCoords\",value:function(t){var e=t.interaction,n=e.coords,r=e.rect,o=e.modification;if(o.result){for(var i=o.startDelta,a=o.result,s=a.delta,l=a.rectDelta,u=[[n.start,i],[n.cur,s]],c=0;c<u.length;c++){var f=be(u[c],2),d=f[0],p=f[1];d.page.x-=p.x,d.page.y-=p.y,d.client.x-=p.x,d.client.y-=p.y}r.left-=l.left,r.right-=l.right,r.top-=l.top,r.bottom-=l.bottom}}},{key:\"shouldDo\",value:function(t,e,n,r){return!(!t||!1===t.enabled||r&&!t.endOnly||t.endOnly&&!e||\"start\"===n&&!t.setStart)}},{key:\"copyFrom\",value:function(t){this.startOffset=t.startOffset,this.startDelta=t.startDelta,this.edges=t.edges,this.states=t.states.map((function(t){return(0,ye.default)(t)})),this.result=Oe((0,M.default)({},t.result.coords),(0,M.default)({},t.result.rect))}},{key:\"destroy\",value:function(){for(var t in this)this[t]=null}}])&&we(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function Oe(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function Ee(t,e){return t?{left:e.x-t.left,top:e.y-t.top,right:t.right-e.x,bottom:t.bottom-e.y}:{left:0,top:0,right:0,bottom:0}}me.default=Pe;var Se={};function Te(t){var e=t.iEvent,n=t.interaction.modification.result;n&&(e.modifiers=n.eventProps)}Object.defineProperty(Se,\"__esModule\",{value:!0}),Se.addEventModifiers=Te,Se.default=void 0,Se.makeModifier=function(t,e){var n=t.defaults,r={start:t.start,set:t.set,beforeEnd:t.beforeEnd,stop:t.stop},o=function(t){var o=t||{};for(var i in o.enabled=!1!==o.enabled,n)i in o||(o[i]=n[i]);var a={options:o,methods:r,name:e,enable:function(){return o.enabled=!0,a},disable:function(){return o.enabled=!1,a}};return a};return e&&\"string\"==typeof e&&(o._defaults=n,o._methods=r),o};var je={id:\"modifiers/base\",before:[\"actions\"],install:function(t){t.defaults.perAction.modifiers=[]},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.modification=new me.default(e)},\"interactions:before-action-start\":function(t){var e=t.interaction.modification;e.start(t,t.interaction.coords.start.page),t.interaction.edges=e.edges,e.applyToInteraction(t)},\"interactions:before-action-move\":function(t){return t.interaction.modification.setAndApply(t)},\"interactions:before-action-end\":function(t){return t.interaction.modification.beforeEnd(t)},\"interactions:action-start\":Te,\"interactions:action-move\":Te,\"interactions:action-end\":Te,\"interactions:after-action-start\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:after-action-move\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:stop\":function(t){return t.interaction.modification.stop(t)}}},Me=je;Se.default=Me;var ke={};Object.defineProperty(ke,\"__esModule\",{value:!0}),ke.defaults=void 0,ke.defaults={base:{preventDefault:\"auto\",deltaSource:\"page\"},perAction:{enabled:!1,origin:{x:0,y:0}},actions:{}};var Ie={};function De(t){return De=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},De(t)}function Ae(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function ze(t,e){return ze=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},ze(t,e)}function Ce(t,e){if(e&&(\"object\"===De(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return Re(t)}function Re(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function Fe(t){return Fe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Fe(t)}function Xe(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(Ie,\"__esModule\",{value:!0}),Ie.InteractEvent=void 0;var Be=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&ze(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Fe(r);if(o){var n=Fe(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ce(this,t)});function a(t,e,n,r,o,s,l){var u;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,a),Xe(Re(u=i.call(this,t)),\"relatedTarget\",null),Xe(Re(u),\"screenX\",void 0),Xe(Re(u),\"screenY\",void 0),Xe(Re(u),\"button\",void 0),Xe(Re(u),\"buttons\",void 0),Xe(Re(u),\"ctrlKey\",void 0),Xe(Re(u),\"shiftKey\",void 0),Xe(Re(u),\"altKey\",void 0),Xe(Re(u),\"metaKey\",void 0),Xe(Re(u),\"page\",void 0),Xe(Re(u),\"client\",void 0),Xe(Re(u),\"delta\",void 0),Xe(Re(u),\"rect\",void 0),Xe(Re(u),\"x0\",void 0),Xe(Re(u),\"y0\",void 0),Xe(Re(u),\"t0\",void 0),Xe(Re(u),\"dt\",void 0),Xe(Re(u),\"duration\",void 0),Xe(Re(u),\"clientX0\",void 0),Xe(Re(u),\"clientY0\",void 0),Xe(Re(u),\"velocity\",void 0),Xe(Re(u),\"speed\",void 0),Xe(Re(u),\"swipe\",void 0),Xe(Re(u),\"axes\",void 0),Xe(Re(u),\"preEnd\",void 0),o=o||t.element;var c=t.interactable,f=(c&&c.options||ke.defaults).deltaSource,d=(0,A.default)(c,o,n),p=\"start\"===r,v=\"end\"===r,h=p?Re(u):t.prevEvent,g=p?t.coords.start:v?{page:h.page,client:h.client,timeStamp:t.coords.cur.timeStamp}:t.coords.cur;return u.page=(0,M.default)({},g.page),u.client=(0,M.default)({},g.client),u.rect=(0,M.default)({},t.rect),u.timeStamp=g.timeStamp,v||(u.page.x-=d.x,u.page.y-=d.y,u.client.x-=d.x,u.client.y-=d.y),u.ctrlKey=e.ctrlKey,u.altKey=e.altKey,u.shiftKey=e.shiftKey,u.metaKey=e.metaKey,u.button=e.button,u.buttons=e.buttons,u.target=o,u.currentTarget=o,u.preEnd=s,u.type=l||n+(r||\"\"),u.interactable=c,u.t0=p?t.pointers[t.pointers.length-1].downTime:h.t0,u.x0=t.coords.start.page.x-d.x,u.y0=t.coords.start.page.y-d.y,u.clientX0=t.coords.start.client.x-d.x,u.clientY0=t.coords.start.client.y-d.y,u.delta=p||v?{x:0,y:0}:{x:u[f].x-h[f].x,y:u[f].y-h[f].y},u.dt=t.coords.delta.timeStamp,u.duration=u.timeStamp-u.t0,u.velocity=(0,M.default)({},t.coords.velocity[f]),u.speed=(0,R.default)(u.velocity.x,u.velocity.y),u.swipe=v||\"inertiastart\"===r?u.getSwipe():null,u}return e=a,(n=[{key:\"getSwipe\",value:function(){var t=this._interaction;if(t.prevEvent.speed<600||this.timeStamp-t.prevEvent.timeStamp>150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:\"preventDefault\",value:function(){}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}}])&&Ae(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),a}(N.BaseEvent);Ie.InteractEvent=Be,Object.defineProperties(Be.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ye={};function We(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Le(t,e,n){return e&&We(t.prototype,e),n&&We(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}function Ue(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(Ye,\"__esModule\",{value:!0}),Ye.PointerInfo=void 0;var Ve=Le((function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),Ue(this,\"id\",void 0),Ue(this,\"pointer\",void 0),Ue(this,\"event\",void 0),Ue(this,\"downTime\",void 0),Ue(this,\"downTarget\",void 0),this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i}));Ye.PointerInfo=Ve;var Ne,qe,Ge={};function $e(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function He(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(Ge,\"__esModule\",{value:!0}),Ge.Interaction=void 0,Object.defineProperty(Ge,\"PointerInfo\",{enumerable:!0,get:function(){return Ye.PointerInfo}}),Ge.default=Ge._ProxyValues=Ge._ProxyMethods=void 0,Ge._ProxyValues=Ne,function(t){t.interactable=\"\",t.element=\"\",t.prepared=\"\",t.pointerIsDown=\"\",t.pointerWasMoved=\"\",t._proxy=\"\"}(Ne||(Ge._ProxyValues=Ne={})),Ge._ProxyMethods=qe,function(t){t.start=\"\",t.move=\"\",t.end=\"\",t.stop=\"\",t.interacting=\"\"}(qe||(Ge._ProxyMethods=qe={}));var Ke=0,Ze=function(){function t(e){var n=this,r=e.pointerType,o=e.scopeFire;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),He(this,\"interactable\",null),He(this,\"element\",null),He(this,\"rect\",null),He(this,\"_rects\",void 0),He(this,\"edges\",null),He(this,\"_scopeFire\",void 0),He(this,\"prepared\",{name:null,axis:null,edges:null}),He(this,\"pointerType\",void 0),He(this,\"pointers\",[]),He(this,\"downEvent\",null),He(this,\"downPointer\",{}),He(this,\"_latestPointer\",{pointer:null,event:null,eventTarget:null}),He(this,\"prevEvent\",null),He(this,\"pointerIsDown\",!1),He(this,\"pointerWasMoved\",!1),He(this,\"_interacting\",!1),He(this,\"_ending\",!1),He(this,\"_stopped\",!0),He(this,\"_proxy\",null),He(this,\"simulation\",null),He(this,\"doMove\",(0,Xt.warnOnce)((function(t){this.move(t)}),\"The interaction.doMove() method has been renamed to interaction.move()\")),He(this,\"coords\",{start:X.newCoords(),prev:X.newCoords(),cur:X.newCoords(),delta:X.newCoords(),velocity:X.newCoords()}),He(this,\"_id\",Ke++),this._scopeFire=o,this.pointerType=r;var i=this;this._proxy={};var a=function(t){Object.defineProperty(n._proxy,t,{get:function(){return i[t]}})};for(var s in Ne)a(s);var l=function(t){Object.defineProperty(n._proxy,t,{value:function(){return i[t].apply(i,arguments)}})};for(var u in qe)l(u);this._scopeFire(\"interactions:new\",{interaction:this})}var e,n;return e=t,n=[{key:\"pointerMoveTolerance\",get:function(){return 1}},{key:\"pointerDown\",value:function(t,e,n){var r=this.updatePointer(t,e,n,!0),o=this.pointers[r];this._scopeFire(\"interactions:down\",{pointer:t,event:e,eventTarget:n,pointerIndex:r,pointerInfo:o,type:\"down\",interaction:this})}},{key:\"start\",value:function(t,e,n){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<(\"gesture\"===t.name?2:1)||!e.options[t.name].enabled)&&((0,Xt.copyAction)(this.prepared,t),this.interactable=e,this.element=n,this.rect=e.getRect(n),this.edges=this.prepared.edges?(0,M.default)({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:\"start\"})&&!this._stopped,this._interacting)}},{key:\"pointerMove\",value:function(t,e,n){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(t,e,n,!1);var r,o,i=this.coords.cur.page.x===this.coords.prev.page.x&&this.coords.cur.page.y===this.coords.prev.page.y&&this.coords.cur.client.x===this.coords.prev.client.x&&this.coords.cur.client.y===this.coords.prev.client.y;this.pointerIsDown&&!this.pointerWasMoved&&(r=this.coords.cur.client.x-this.coords.start.client.x,o=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=(0,R.default)(r,o)>this.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:\"move\",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||X.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire(\"interactions:move\",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&X.copyCoords(this.coords.prev,this.coords.cur))}},{key:\"move\",value:function(t){t&&t.event||X.setZeroCoords(this.coords.delta),(t=(0,M.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase=\"move\",this._doPhase(t)}},{key:\"pointerUp\",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?\"cancel\":\"up\";this._scopeFire(\"interactions:\".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:\"documentBlur\",value:function(t){this.end(t),this._scopeFire(\"interactions:blur\",{event:t,type:\"blur\",interaction:this})}},{key:\"end\",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:\"end\"})),this._ending=!1,!0===e&&this.stop()}},{key:\"currentAction\",value:function(){return this._interacting?this.prepared.name:null}},{key:\"interacting\",value:function(){return this._interacting}},{key:\"stop\",value:function(){this._scopeFire(\"interactions:stop\",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:\"getPointerIndex\",value:function(t){var e=X.getPointerId(t);return\"mouse\"===this.pointerType||\"pen\"===this.pointerType?this.pointers.length-1:H.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:\"getPointerInfo\",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:\"updatePointer\",value:function(t,e,n,r){var o=X.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ye.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),X.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),X.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,X.pointerExtend(this.downPointer,t),this.interacting()||(X.copyCoords(this.coords.start,this.coords.cur),X.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire(\"interactions:update-pointer\",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:\"removePointer\",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire(\"interactions:remove-pointer\",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:\"_updateLatestPointer\",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:\"destroy\",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:\"_createPreparedEvent\",value:function(t,e,n,r){return new Ie.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:\"_fireEvent\",value:function(t){var e;null==(e=this.interactable)||e.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:\"_doPhase\",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&\"move\"===n&&(k.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire(\"interactions:before-action-\".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire(\"interactions:action-\".concat(n),t),\"start\"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire(\"interactions:after-action-\".concat(n),t),!0}},{key:\"_now\",value:function(){return Date.now()}}],n&&$e(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();Ge.Interaction=Ze;var Je=Ze;Ge.default=Je;var Qe={};function tn(t){t.pointerIsDown&&(on(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function en(t){nn(t.interaction)}function nn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return on(t.coords.cur,e),on(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function rn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function on(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(Qe,\"__esModule\",{value:!0}),Qe.addTotal=tn,Qe.applyPending=nn,Qe.default=void 0,Ge._ProxyMethods.offsetBy=\"\";var an={id:\"offset\",before:[\"modifiers\",\"pointer-events\",\"actions\",\"inertia\"],install:function(t){t.Interaction.prototype.offsetBy=rn},listeners:{\"interactions:new\":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},\"interactions:update-pointer\":function(t){return tn(t.interaction)},\"interactions:before-action-start\":en,\"interactions:before-action-move\":en,\"interactions:before-action-end\":function(t){var e=t.interaction;if(nn(e))return e.move({offset:!0}),e.end(),!1},\"interactions:stop\":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}},sn=an;Qe.default=sn;var ln={};function un(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function cn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(ln,\"__esModule\",{value:!0}),ln.default=ln.InertiaState=void 0;var fn=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),cn(this,\"active\",!1),cn(this,\"isModified\",!1),cn(this,\"smoothEnd\",!1),cn(this,\"allowResume\",!1),cn(this,\"modification\",void 0),cn(this,\"modifierCount\",0),cn(this,\"modifierArg\",void 0),cn(this,\"startCoords\",void 0),cn(this,\"t0\",0),cn(this,\"v0\",0),cn(this,\"te\",0),cn(this,\"targetOffset\",void 0),cn(this,\"modifiedOffset\",void 0),cn(this,\"currentOffset\",void 0),cn(this,\"lambda_v0\",0),cn(this,\"one_ve_v0\",0),cn(this,\"timeout\",void 0),cn(this,\"interaction\",void 0),this.interaction=e}var e,n;return e=t,(n=[{key:\"start\",value:function(t){var e=this.interaction,n=dn(e);if(!n||!n.enabled)return!1;var r=e.coords.velocity.client,o=(0,R.default)(r.x,r.y),i=this.modification||(this.modification=new me.default(e));if(i.copyFrom(e.modification),this.t0=e._now(),this.allowResume=n.allowResume,this.v0=o,this.currentOffset={x:0,y:0},this.startCoords=e.coords.cur.page,this.modifierArg=i.fillArg({pageCoords:this.startCoords,preEnd:!0,phase:\"inertiastart\"}),this.t0-e.coords.cur.timeStamp<50&&o>n.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:\"inertiastart\"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:\"startInertia\",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=dn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:\"startSmoothEnd\",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:\"onNextFrame\",value:function(t){var e=this;this.timeout=Tt.default.request((function(){e.active&&t()}))}},{key:\"inertiaTick\",value:function(){var t,e,n,r,o,i=this,a=this.interaction,s=dn(a).resistance,l=(a._now()-this.t0)/1e3;if(l<this.te){var u,c=1-(Math.exp(-s*l)-this.lambda_v0)/this.one_ve_v0;this.isModified?(0,0,t=this.targetOffset.x,e=this.targetOffset.y,n=this.modifiedOffset.x,r=this.modifiedOffset.y,u={x:vn(o=c,0,t,n),y:vn(o,0,e,r)}):u={x:this.targetOffset.x*c,y:this.targetOffset.y*c};var f={x:u.x-this.currentOffset.x,y:u.y-this.currentOffset.y};this.currentOffset.x+=f.x,this.currentOffset.y+=f.y,a.offsetBy(f),a.move(),this.onNextFrame((function(){return i.inertiaTick()}))}else a.offsetBy({x:this.modifiedOffset.x-this.currentOffset.x,y:this.modifiedOffset.y-this.currentOffset.y}),this.end()}},{key:\"smoothEndTick\",value:function(){var t=this,e=this.interaction,n=e._now()-this.t0,r=dn(e).smoothEndDuration;if(n<r){var o={x:hn(n,0,this.targetOffset.x,r),y:hn(n,0,this.targetOffset.y,r)},i={x:o.x-this.currentOffset.x,y:o.y-this.currentOffset.y};this.currentOffset.x+=i.x,this.currentOffset.y+=i.y,e.offsetBy(i),e.move({skipModifiers:this.modifierCount}),this.onNextFrame((function(){return t.smoothEndTick()}))}else e.offsetBy({x:this.targetOffset.x-this.currentOffset.x,y:this.targetOffset.y-this.currentOffset.y}),this.end()}},{key:\"resume\",value:function(t){var e=t.pointer,n=t.event,r=t.eventTarget,o=this.interaction;o.offsetBy({x:-this.currentOffset.x,y:-this.currentOffset.y}),o.updatePointer(e,n,r,!0),o._doPhase({interaction:o,event:n,phase:\"resume\"}),(0,X.copyCoords)(o.coords.prev,o.coords.cur),this.stop()}},{key:\"end\",value:function(){this.interaction.move(),this.interaction.end(),this.stop()}},{key:\"stop\",value:function(){this.active=this.smoothEnd=!1,this.interaction.simulation=null,Tt.default.cancel(this.timeout)}}])&&un(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function dn(t){var e=t.interactable,n=t.prepared;return e&&e.options&&n.name&&e.options[n.name].inertia}ln.InertiaState=fn;var pn={id:\"inertia\",before:[\"modifiers\",\"actions\"],install:function(t){var e=t.defaults;t.usePlugin(Qe.default),t.usePlugin(Se.default),t.actions.phases.inertiastart=!0,t.actions.phases.resume=!0,e.perAction.inertia={enabled:!1,resistance:10,minSpeed:100,endSpeed:10,allowResume:!0,smoothEndDuration:300}},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.inertia=new fn(e)},\"interactions:before-action-end\":function(t){var e=t.interaction,n=t.event;return(!e._interacting||e.simulation||!e.inertia.start(n))&&null},\"interactions:down\":function(t){var e=t.interaction,n=t.eventTarget,r=e.inertia;if(r.active)for(var o=n;i.default.element(o);){if(o===e.element){r.resume(t);break}o=_.parentNode(o)}},\"interactions:stop\":function(t){var e=t.interaction.inertia;e.active&&e.stop()},\"interactions:before-action-resume\":function(t){var e=t.interaction.modification;e.stop(t),e.start(t,t.interaction.coords.cur.page),e.applyToInteraction(t)},\"interactions:before-action-inertiastart\":function(t){return t.interaction.modification.setAndApply(t)},\"interactions:action-resume\":Se.addEventModifiers,\"interactions:action-inertiastart\":Se.addEventModifiers,\"interactions:after-action-inertiastart\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:after-action-resume\":function(t){return t.interaction.modification.restoreInteractionCoords(t)}}};function vn(t,e,n,r){var o=1-t;return o*o*e+2*o*t*n+t*t*r}function hn(t,e,n,r){return-n*(t/=r)*(t-2)+e}var gn=pn;ln.default=gn;var yn={};function mn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function bn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function xn(t,e){for(var n=0;n<e.length;n++){var r=e[n];if(t.immediatePropagationStopped)break;r(t)}}Object.defineProperty(yn,\"__esModule\",{value:!0}),yn.Eventable=void 0;var wn=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),bn(this,\"options\",void 0),bn(this,\"types\",{}),bn(this,\"propagationStopped\",!1),bn(this,\"immediatePropagationStopped\",!1),bn(this,\"global\",void 0),this.options=(0,M.default)({},e||{})}var e,n;return e=t,(n=[{key:\"fire\",value:function(t){var e,n=this.global;(e=this.types[t.type])&&xn(t,e),!t.propagationStopped&&n&&(e=n[t.type])&&xn(t,e)}},{key:\"on\",value:function(t,e){var n=(0,z.default)(t,e);for(t in n)this.types[t]=H.merge(this.types[t]||[],n[t])}},{key:\"off\",value:function(t,e){var n=(0,z.default)(t,e);for(t in n){var r=this.types[t];if(r&&r.length)for(var o=0;o<n[t].length;o++){var i=n[t][o],a=r.indexOf(i);-1!==a&&r.splice(a,1)}}}},{key:\"getRect\",value:function(t){return null}}])&&mn(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();yn.Eventable=wn;var _n={};Object.defineProperty(_n,\"__esModule\",{value:!0}),_n.default=function(t,e){if(e.phaselessTypes[t])return!0;for(var n in e.map)if(0===t.indexOf(n)&&t.substr(n.length)in e.phases)return!0;return!1};var Pn={};Object.defineProperty(Pn,\"__esModule\",{value:!0}),Pn.createInteractStatic=function(t){var e=function e(n,r){var o=t.interactables.get(n,r);return o||((o=t.interactables.new(n,r)).events.global=e.globalEvents),o};return e.getPointerAverage=X.pointerAverage,e.getTouchBBox=X.touchBBox,e.getTouchDistance=X.touchDistance,e.getTouchAngle=X.touchAngle,e.getElementRect=_.getElementRect,e.getElementClientRect=_.getElementClientRect,e.matchesSelector=_.matchesSelector,e.closest=_.closest,e.globalEvents={},e.version=\"1.10.17\",e.scope=t,e.use=function(t,e){return this.scope.usePlugin(t,e),this},e.isSet=function(t,e){return!!this.scope.interactables.get(t,e&&e.context)},e.on=(0,Xt.warnOnce)((function(t,e,n){if(i.default.string(t)&&-1!==t.search(\" \")&&(t=t.trim().split(/ +/)),i.default.array(t)){for(var r=0;r<t.length;r++){var o=t[r];this.on(o,e,n)}return this}if(i.default.object(t)){for(var a in t)this.on(a,t[a],e);return this}return(0,_n.default)(t,this.scope.actions)?this.globalEvents[t]?this.globalEvents[t].push(e):this.globalEvents[t]=[e]:this.scope.events.add(this.scope.document,t,e,{options:n}),this}),\"The interact.on() method is being deprecated\"),e.off=(0,Xt.warnOnce)((function(t,e,n){if(i.default.string(t)&&-1!==t.search(\" \")&&(t=t.trim().split(/ +/)),i.default.array(t)){for(var r=0;r<t.length;r++){var o=t[r];this.off(o,e,n)}return this}if(i.default.object(t)){for(var a in t)this.off(a,t[a],e);return this}var s;return(0,_n.default)(t,this.scope.actions)?t in this.globalEvents&&-1!==(s=this.globalEvents[t].indexOf(e))&&this.globalEvents[t].splice(s,1):this.scope.events.remove(this.scope.document,t,e,n),this}),\"The interact.off() method is being deprecated\"),e.debug=function(){return this.scope},e.supportsTouch=function(){return b.default.supportsTouch},e.supportsPointerEvent=function(){return b.default.supportsPointerEvent},e.stop=function(){for(var t=0;t<this.scope.interactions.list.length;t++)this.scope.interactions.list[t].stop();return this},e.pointerMoveTolerance=function(t){return i.default.number(t)?(this.scope.interactions.pointerMoveTolerance=t,this):this.scope.interactions.pointerMoveTolerance},e.addDocument=function(t,e){this.scope.addDocument(t,e)},e.removeDocument=function(t){this.scope.removeDocument(t)},e};var On={};function En(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Sn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(On,\"__esModule\",{value:!0}),On.Interactable=void 0;var Tn=function(){function t(n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),Sn(this,\"options\",void 0),Sn(this,\"_actions\",void 0),Sn(this,\"target\",void 0),Sn(this,\"events\",new yn.Eventable),Sn(this,\"_context\",void 0),Sn(this,\"_win\",void 0),Sn(this,\"_doc\",void 0),Sn(this,\"_scopeEvents\",void 0),Sn(this,\"_rectChecker\",void 0),this._actions=r.actions,this.target=n,this._context=r.context||o,this._win=(0,e.getWindow)((0,_.trySelector)(n)?this._context:n),this._doc=this._win.document,this._scopeEvents=i,this.set(r)}var n,r;return n=t,(r=[{key:\"_defaults\",get:function(){return{base:{},perAction:{},actions:{}}}},{key:\"setOnEvents\",value:function(t,e){return i.default.func(e.onstart)&&this.on(\"\".concat(t,\"start\"),e.onstart),i.default.func(e.onmove)&&this.on(\"\".concat(t,\"move\"),e.onmove),i.default.func(e.onend)&&this.on(\"\".concat(t,\"end\"),e.onend),i.default.func(e.oninertiastart)&&this.on(\"\".concat(t,\"inertiastart\"),e.oninertiastart),this}},{key:\"updatePerActionListeners\",value:function(t,e,n){(i.default.array(e)||i.default.object(e))&&this.off(t,e),(i.default.array(n)||i.default.object(n))&&this.on(t,n)}},{key:\"setPerAction\",value:function(t,e){var n=this._defaults;for(var r in e){var o=r,a=this.options[t],s=e[o];\"listeners\"===o&&this.updatePerActionListeners(t,a.listeners,s),i.default.array(s)?a[o]=H.from(s):i.default.plainObject(s)?(a[o]=(0,M.default)(a[o]||{},(0,ye.default)(s)),i.default.object(n.perAction[o])&&\"enabled\"in n.perAction[o]&&(a[o].enabled=!1!==s.enabled)):i.default.bool(s)&&i.default.object(n.perAction[o])?a[o].enabled=s:a[o]=s}}},{key:\"getRect\",value:function(t){return t=t||(i.default.element(this.target)?this.target:null),i.default.string(this.target)&&(t=t||this._context.querySelector(this.target)),(0,_.getElementRect)(t)}},{key:\"rectChecker\",value:function(t){var e=this;return i.default.func(t)?(this._rectChecker=t,this.getRect=function(t){var n=(0,M.default)({},e._rectChecker(t));return\"width\"in n||(n.width=n.right-n.left,n.height=n.bottom-n.top),n},this):null===t?(delete this.getRect,delete this._rectChecker,this):this.getRect}},{key:\"_backCompatOption\",value:function(t,e){if((0,_.trySelector)(e)||i.default.object(e)){for(var n in this.options[t]=e,this._actions.map)this.options[n][t]=e;return this}return this.options[t]}},{key:\"origin\",value:function(t){return this._backCompatOption(\"origin\",t)}},{key:\"deltaSource\",value:function(t){return\"page\"===t||\"client\"===t?(this.options.deltaSource=t,this):this.options.deltaSource}},{key:\"context\",value:function(){return this._context}},{key:\"inContext\",value:function(t){return this._context===t.ownerDocument||(0,_.nodeContains)(this._context,t)}},{key:\"testIgnoreAllow\",value:function(t,e,n){return!this.testIgnore(t.ignoreFrom,e,n)&&this.testAllow(t.allowFrom,e,n)}},{key:\"testAllow\",value:function(t,e,n){return!t||!!i.default.element(n)&&(i.default.string(t)?(0,_.matchesUpTo)(n,t,e):!!i.default.element(t)&&(0,_.nodeContains)(t,n))}},{key:\"testIgnore\",value:function(t,e,n){return!(!t||!i.default.element(n))&&(i.default.string(t)?(0,_.matchesUpTo)(n,t,e):!!i.default.element(t)&&(0,_.nodeContains)(t,n))}},{key:\"fire\",value:function(t){return this.events.fire(t),this}},{key:\"_onOff\",value:function(t,e,n,r){i.default.object(e)&&!i.default.array(e)&&(r=n,n=null);var o=\"on\"===t?\"add\":\"remove\",a=(0,z.default)(e,n);for(var s in a){\"wheel\"===s&&(s=b.default.wheelEvent);for(var l=0;l<a[s].length;l++){var u=a[s][l];(0,_n.default)(s,this._actions)?this.events[t](s,u):i.default.string(this.target)?this._scopeEvents[\"\".concat(o,\"Delegate\")](this.target,this._context,s,u,r):this._scopeEvents[o](this.target,s,u,r)}}return this}},{key:\"on\",value:function(t,e,n){return this._onOff(\"on\",t,e,n)}},{key:\"off\",value:function(t,e,n){return this._onOff(\"off\",t,e,n)}},{key:\"set\",value:function(t){var e=this._defaults;for(var n in i.default.object(t)||(t={}),this.options=(0,ye.default)(e.base),this._actions.methodDict){var r=n,o=this._actions.methodDict[r];this.options[r]={},this.setPerAction(r,(0,M.default)((0,M.default)({},e.perAction),e.actions[r])),this[o](t[r])}for(var a in t)i.default.func(this[a])&&this[a](t[a]);return this}},{key:\"unset\",value:function(){if(i.default.string(this.target))for(var t in this._scopeEvents.delegatedEvents)for(var e=this._scopeEvents.delegatedEvents[t],n=e.length-1;n>=0;n--){var r=e[n],o=r.selector,a=r.context,s=r.listeners;o===this.target&&a===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,\"all\")}}])&&En(n.prototype,r),Object.defineProperty(n,\"prototype\",{writable:!1}),t}();On.Interactable=Tn;var jn={};function Mn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function kn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(jn,\"__esModule\",{value:!0}),jn.InteractableSet=void 0;var In=function(){function t(e){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),kn(this,\"list\",[]),kn(this,\"selectorMap\",{}),kn(this,\"scope\",void 0),this.scope=e,e.addListeners({\"interactable:unset\":function(t){var e=t.interactable,r=e.target,o=e._context,a=i.default.string(r)?n.selectorMap[r]:r[n.scope.id],s=H.findIndex(a,(function(t){return t.context===o}));a[s]&&(a[s].context=null,a[s].interactable=null),a.splice(s,1)}})}var e,n;return e=t,(n=[{key:\"new\",value:function(t,e){e=(0,M.default)(e||{},{actions:this.scope.actions});var n=new this.scope.Interactable(t,e,this.scope.document,this.scope.events),r={context:n._context,interactable:n};return this.scope.addDocument(n._doc),this.list.push(n),i.default.string(t)?(this.selectorMap[t]||(this.selectorMap[t]=[]),this.selectorMap[t].push(r)):(n.target[this.scope.id]||Object.defineProperty(t,this.scope.id,{value:[],configurable:!0}),t[this.scope.id].push(r)),this.scope.fire(\"interactable:new\",{target:t,options:e,interactable:n,win:this.scope._win}),n}},{key:\"get\",value:function(t,e){var n=e&&e.context||this.scope.document,r=i.default.string(t),o=r?this.selectorMap[t]:t[this.scope.id];if(!o)return null;var a=H.find(o,(function(e){return e.context===n&&(r||e.interactable.inContext(t))}));return a&&a.interactable}},{key:\"forEachMatch\",value:function(t,e){for(var n=0;n<this.list.length;n++){var r=this.list[n],o=void 0;if((i.default.string(r.target)?i.default.element(t)&&_.matchesSelector(t,r.target):t===r.target)&&r.inContext(t)&&(o=e(r)),void 0!==o)return o}}}])&&Mn(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();jn.InteractableSet=In;var Dn={};function An(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function zn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Cn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return Rn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rn(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}Object.defineProperty(Dn,\"__esModule\",{value:!0}),Dn.default=void 0;var Fn=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),zn(this,\"currentTarget\",void 0),zn(this,\"originalEvent\",void 0),zn(this,\"type\",void 0),this.originalEvent=e,(0,F.default)(this,e)}var e,n;return e=t,(n=[{key:\"preventOriginalDefault\",value:function(){this.originalEvent.preventDefault()}},{key:\"stopPropagation\",value:function(){this.originalEvent.stopPropagation()}},{key:\"stopImmediatePropagation\",value:function(){this.originalEvent.stopImmediatePropagation()}}])&&An(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function Xn(t){if(!i.default.object(t))return{capture:!!t,passive:!1};var e=(0,M.default)({},t);return e.capture=!!t.capture,e.passive=!!t.passive,e}var Bn={id:\"events\",install:function(t){var e,n=[],r={},o=[],a={add:s,remove:l,addDelegate:function(t,e,n,i,a){var l=Xn(a);if(!r[n]){r[n]=[];for(var f=0;f<o.length;f++){var d=o[f];s(d,n,u),s(d,n,c,!0)}}var p=r[n],v=H.find(p,(function(n){return n.selector===t&&n.context===e}));v||(v={selector:t,context:e,listeners:[]},p.push(v)),v.listeners.push([i,l])},removeDelegate:function(t,e,n,o,i){var a,s=Xn(i),f=r[n],d=!1;if(f)for(a=f.length-1;a>=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=Cn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===s.capture&&x===s.passive){v.splice(h,1),v.length||(f.splice(a,1),l(e,n,u),l(e,n,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:r,documents:o,targets:n,supportsOptions:!1,supportsPassive:!1};function s(t,e,r,o){var i=Xn(o),s=H.find(n,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},n.push(s)),s.events[e]||(s.events[e]=[]),t.addEventListener&&!H.contains(s.events[e],r)&&(t.addEventListener(e,r,a.supportsOptions?i:i.capture),s.events[e].push(r))}function l(t,e,r,o){var i=Xn(o),s=H.findIndex(n,(function(e){return e.eventTarget===t})),u=n[s];if(u&&u.events)if(\"all\"!==e){var c=!1,f=u.events[e];if(f){if(\"all\"===r){for(var d=f.length-1;d>=0;d--)l(t,e,f[d],i);return}for(var p=0;p<f.length;p++)if(f[p]===r){t.removeEventListener(e,r,a.supportsOptions?i:i.capture),f.splice(p,1),0===f.length&&(delete u.events[e],c=!0);break}}c&&!Object.keys(u.events).length&&n.splice(s,1)}else for(e in u.events)u.events.hasOwnProperty(e)&&l(t,e,\"all\")}function u(t,e){for(var n=Xn(e),o=new Fn(t),a=r[t.type],s=Cn(X.getEventTargets(t),1)[0],l=s;i.default.element(l);){for(var u=0;u<a.length;u++){var c=a[u],f=c.selector,d=c.context;if(_.matchesSelector(l,f)&&_.nodeContains(d,s)&&_.nodeContains(d,l)){var p=c.listeners;o.currentTarget=l;for(var v=0;v<p.length;v++){var h=Cn(p[v],2),g=h[0],y=h[1],m=y.capture,b=y.passive;m===n.capture&&b===n.passive&&g(o)}}}l=_.parentNode(l)}}function c(t){return u(t,!0)}return null==(e=t.document)||e.createElement(\"div\").addEventListener(\"test\",null,{get capture(){return a.supportsOptions=!0},get passive(){return a.supportsPassive=!0}}),t.events=a,a}};Dn.default=Bn;var Yn={};Object.defineProperty(Yn,\"__esModule\",{value:!0}),Yn.default=void 0;var Wn={methodOrder:[\"simulationResume\",\"mouseOrPen\",\"hasPointer\",\"idle\"],search:function(t){for(var e=0;e<Wn.methodOrder.length;e++){var n;n=Wn.methodOrder[e];var r=Wn[n](t);if(r)return r}return null},simulationResume:function(t){var e=t.pointerType,n=t.eventType,r=t.eventTarget,o=t.scope;if(!/down|start/i.test(n))return null;for(var i=0;i<o.interactions.list.length;i++){var a=o.interactions.list[i],s=r;if(a.simulation&&a.simulation.allowResume&&a.pointerType===e)for(;s;){if(s===a.element)return a;s=_.parentNode(s)}}return null},mouseOrPen:function(t){var e,n=t.pointerId,r=t.pointerType,o=t.eventType,i=t.scope;if(\"mouse\"!==r&&\"pen\"!==r)return null;for(var a=0;a<i.interactions.list.length;a++){var s=i.interactions.list[a];if(s.pointerType===r){if(s.simulation&&!Ln(s,n))continue;if(s.interacting())return s;e||(e=s)}}if(e)return e;for(var l=0;l<i.interactions.list.length;l++){var u=i.interactions.list[l];if(!(u.pointerType!==r||/down/i.test(o)&&u.simulation))return u}return null},hasPointer:function(t){for(var e=t.pointerId,n=t.scope,r=0;r<n.interactions.list.length;r++){var o=n.interactions.list[r];if(Ln(o,e))return o}return null},idle:function(t){for(var e=t.pointerType,n=t.scope,r=0;r<n.interactions.list.length;r++){var o=n.interactions.list[r];if(1===o.pointers.length){var i=o.interactable;if(i&&(!i.options.gesture||!i.options.gesture.enabled))continue}else if(o.pointers.length>=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Ln(t,e){return t.pointers.some((function(t){return t.id===e}))}var Un=Wn;Yn.default=Un;var Vn={};function Nn(t){return Nn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Nn(t)}function qn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return Gn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gn(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Gn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function $n(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function Hn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Kn(t,e){return Kn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Kn(t,e)}function Zn(t,e){if(e&&(\"object\"===Nn(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t)}function Jn(t){return Jn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Jn(t)}Object.defineProperty(Vn,\"__esModule\",{value:!0}),Vn.default=void 0;var Qn=[\"pointerDown\",\"pointerMove\",\"pointerUp\",\"updatePointer\",\"removePointer\",\"windowBlur\"];function tr(t,e){return function(n){var r=e.interactions.list,o=X.getPointerType(n),i=qn(X.getEventTargets(n),2),a=i[0],s=i[1],l=[];if(/^touch/.test(n.type)){e.prevTouchTime=e.now();for(var u=0;u<n.changedTouches.length;u++){var c=n.changedTouches[u],f={pointer:c,pointerId:X.getPointerId(c),pointerType:o,eventType:n.type,eventTarget:a,curEventTarget:s,scope:e},d=er(f);l.push([f.pointer,f.eventTarget,f.curEventTarget,d])}}else{var p=!1;if(!b.default.supportsPointerEvent&&/mouse/.test(n.type)){for(var v=0;v<r.length&&!p;v++)p=\"mouse\"!==r[v].pointerType&&r[v].pointerIsDown;p=p||e.now()-e.prevTouchTime<500||0===n.timeStamp}if(!p){var h={pointer:n,pointerId:X.getPointerId(n),pointerType:o,eventType:n.type,curEventTarget:s,eventTarget:a,scope:e},g=er(h);l.push([h.pointer,h.eventTarget,h.curEventTarget,g])}}for(var y=0;y<l.length;y++){var m=qn(l[y],4),x=m[0],w=m[1],_=m[2];m[3][t](x,n,w,_)}}}function er(t){var e=t.pointerType,n=t.scope,r={interaction:Yn.default.search(t),searchDetails:t};return n.fire(\"interactions:find\",r),r.interaction||n.interactions.new({pointerType:e})}function nr(t,e){var n=t.doc,r=t.scope,o=t.options,i=r.interactions.docEvents,a=r.events,s=a[e];for(var l in r.browser.isIOS&&!o.events&&(o.events={passive:!1}),a.delegatedEvents)s(n,l,a.delegateListener),s(n,l,a.delegateUseCapture,!0);for(var u=o&&o.events,c=0;c<i.length;c++){var f=i[c];s(n,f.type,f.listener,u)}}var rr={id:\"core/interactions\",install:function(t){for(var e={},n=0;n<Qn.length;n++){var r=Qn[n];e[r]=tr(r,t)}var o,i=b.default.pEventTypes;function a(){for(var e=0;e<t.interactions.list.length;e++){var n=t.interactions.list[e];if(n.pointerIsDown&&\"touch\"===n.pointerType&&!n._interacting)for(var r=function(){var e=n.pointers[o];t.documents.some((function(t){var n=t.doc;return(0,_.nodeContains)(n,e.downTarget)}))||n.removePointer(e.pointer,e.event)},o=0;o<n.pointers.length;o++)r()}}(o=h.default.PointerEvent?[{type:i.down,listener:a},{type:i.down,listener:e.pointerDown},{type:i.move,listener:e.pointerMove},{type:i.up,listener:e.pointerUp},{type:i.cancel,listener:e.pointerUp}]:[{type:\"mousedown\",listener:e.pointerDown},{type:\"mousemove\",listener:e.pointerMove},{type:\"mouseup\",listener:e.pointerUp},{type:\"touchstart\",listener:a},{type:\"touchstart\",listener:e.pointerDown},{type:\"touchmove\",listener:e.pointerMove},{type:\"touchend\",listener:e.pointerUp},{type:\"touchcancel\",listener:e.pointerUp}]).push({type:\"blur\",listener:function(e){for(var n=0;n<t.interactions.list.length;n++)t.interactions.list[n].documentBlur(e)}}),t.prevTouchTime=0,t.Interaction=function(e){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&Kn(t,e)}(s,e);var n,r,o,i,a=(o=s,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Jn(o);if(i){var n=Jn(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Zn(this,t)});function s(){return $n(this,s),a.apply(this,arguments)}return n=s,(r=[{key:\"pointerMoveTolerance\",get:function(){return t.interactions.pointerMoveTolerance},set:function(e){t.interactions.pointerMoveTolerance=e}},{key:\"_now\",value:function(){return t.now()}}])&&Hn(n.prototype,r),Object.defineProperty(n,\"prototype\",{writable:!1}),s}(Ge.default),t.interactions={list:[],new:function(e){e.scopeFire=function(e,n){return t.fire(e,n)};var n=new t.Interaction(e);return t.interactions.list.push(n),n},listeners:e,docEvents:o,pointerMoveTolerance:1},t.usePlugin(le.default)},listeners:{\"scope:add-document\":function(t){return nr(t,\"add\")},\"scope:remove-document\":function(t){return nr(t,\"remove\")},\"interactable:unset\":function(t,e){for(var n=t.interactable,r=e.interactions.list.length-1;r>=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire(\"interactions:destroy\",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:nr,doOnInteractions:tr,methodNames:Qn},or=rr;Vn.default=or;var ir={};function ar(t){return ar=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},ar(t)}function sr(){return sr=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=lr(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(arguments.length<3?t:n):o.value}},sr.apply(this,arguments)}function lr(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=fr(t)););return t}function ur(t,e){return ur=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},ur(t,e)}function cr(t,e){if(e&&(\"object\"===ar(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t)}function fr(t){return fr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},fr(t)}function dr(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function pr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function vr(t,e,n){return e&&pr(t.prototype,e),n&&pr(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}function hr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(ir,\"__esModule\",{value:!0}),ir.Scope=void 0,ir.initScope=yr;var gr=function(){function t(){var e=this;dr(this,t),hr(this,\"id\",\"__interact_scope_\".concat(Math.floor(100*Math.random()))),hr(this,\"isInitialized\",!1),hr(this,\"listenerMaps\",[]),hr(this,\"browser\",b.default),hr(this,\"defaults\",(0,ye.default)(ke.defaults)),hr(this,\"Eventable\",yn.Eventable),hr(this,\"actions\",{map:{},phases:{start:!0,move:!0,end:!0},methodDict:{},phaselessTypes:{}}),hr(this,\"interactStatic\",(0,Pn.createInteractStatic)(this)),hr(this,\"InteractEvent\",Ie.InteractEvent),hr(this,\"Interactable\",void 0),hr(this,\"interactables\",new jn.InteractableSet(this)),hr(this,\"_win\",void 0),hr(this,\"document\",void 0),hr(this,\"window\",void 0),hr(this,\"documents\",[]),hr(this,\"_plugins\",{list:[],map:{}}),hr(this,\"onWindowUnload\",(function(t){return e.removeDocument(t.target)}));var n=this;this.Interactable=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&ur(t,e)}(i,t);var e,r,o=(e=i,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=fr(e);if(r){var o=fr(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return cr(this,t)});function i(){return dr(this,i),o.apply(this,arguments)}return vr(i,[{key:\"_defaults\",get:function(){return n.defaults}},{key:\"set\",value:function(t){return sr(fr(i.prototype),\"set\",this).call(this,t),n.fire(\"interactable:set\",{options:t,interactable:this}),this}},{key:\"unset\",value:function(){sr(fr(i.prototype),\"unset\",this).call(this);var t=n.interactables.list.indexOf(this);t<0||(sr(fr(i.prototype),\"unset\",this).call(this),n.interactables.list.splice(t,1),n.fire(\"interactable:unset\",{interactable:this}))}}]),i}(On.Interactable)}return vr(t,[{key:\"addListeners\",value:function(t,e){this.listenerMaps.push({id:e,map:t})}},{key:\"fire\",value:function(t,e){for(var n=0;n<this.listenerMaps.length;n++){var r=this.listenerMaps[n].map[t];if(r&&!1===r(e,this,t))return!1}}},{key:\"init\",value:function(t){return this.isInitialized?this:yr(this,t)}},{key:\"pluginIsInstalled\",value:function(t){return this._plugins.map[t.id]||-1!==this._plugins.list.indexOf(t)}},{key:\"usePlugin\",value:function(t,e){if(!this.isInitialized)return this;if(this.pluginIsInstalled(t))return this;if(t.id&&(this._plugins.map[t.id]=t),this._plugins.list.push(t),t.install&&t.install(this,e),t.listeners&&t.before){for(var n=0,r=this.listenerMaps.length,o=t.before.reduce((function(t,e){return t[e]=!0,t[mr(e)]=!0,t}),{});n<r;n++){var i=this.listenerMaps[n].id;if(o[i]||o[mr(i)])break}this.listenerMaps.splice(n,0,{id:t.id,map:t.listeners})}else t.listeners&&this.listenerMaps.push({id:t.id,map:t.listeners});return this}},{key:\"addDocument\",value:function(t,n){if(-1!==this.getDocIndex(t))return!1;var r=e.getWindow(t);n=n?(0,M.default)({},n):{},this.documents.push({doc:t,options:n}),this.events.documents.push(t),t!==this.document&&this.events.add(r,\"unload\",this.onWindowUnload),this.fire(\"scope:add-document\",{doc:t,window:r,scope:this,options:n})}},{key:\"removeDocument\",value:function(t){var n=this.getDocIndex(t),r=e.getWindow(t),o=this.documents[n].options;this.events.remove(r,\"unload\",this.onWindowUnload),this.documents.splice(n,1),this.events.documents.splice(n,1),this.fire(\"scope:remove-document\",{doc:t,window:r,scope:this,options:o})}},{key:\"getDocIndex\",value:function(t){for(var e=0;e<this.documents.length;e++)if(this.documents[e].doc===t)return e;return-1}},{key:\"getDocOptions\",value:function(t){var e=this.getDocIndex(t);return-1===e?null:this.documents[e].options}},{key:\"now\",value:function(){return(this.window.Date||Date).now()}}]),t}();function yr(t,n){return t.isInitialized=!0,i.default.window(n)&&e.init(n),h.default.init(n),b.default.init(n),Tt.default.init(n),t.window=n,t.document=n.document,t.usePlugin(Vn.default),t.usePlugin(Dn.default),t}function mr(t){return t&&t.replace(/\\/.*$/,\"\")}ir.Scope=gr;var br={};Object.defineProperty(br,\"__esModule\",{value:!0}),br.default=void 0;var xr=new ir.Scope,wr=xr.interactStatic;br.default=wr;var _r=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:void 0;xr.init(_r);var Pr={};Object.defineProperty(Pr,\"__esModule\",{value:!0}),Pr.default=void 0,Pr.default=function(){};var Or={};Object.defineProperty(Or,\"__esModule\",{value:!0}),Or.default=void 0,Or.default=function(){};var Er={};function Sr(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return Tr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tr(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Tr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}Object.defineProperty(Er,\"__esModule\",{value:!0}),Er.default=void 0,Er.default=function(t){var e=[[\"x\",\"y\"],[\"left\",\"top\"],[\"right\",\"bottom\"],[\"width\",\"height\"]].filter((function(e){var n=Sr(e,2),r=n[0],o=n[1];return r in t||o in t})),n=function(n,r){for(var o=t.range,i=t.limits,a=void 0===i?{left:-1/0,right:1/0,top:-1/0,bottom:1/0}:i,s=t.offset,l=void 0===s?{x:0,y:0}:s,u={range:o,grid:t,x:null,y:null},c=0;c<e.length;c++){var f=Sr(e[c],2),d=f[0],p=f[1],v=Math.round((n-l.x)/t[d]),h=Math.round((r-l.y)/t[p]);u[d]=Math.max(a.left,Math.min(a.right,v*t[d]+l.x)),u[p]=Math.max(a.top,Math.min(a.bottom,h*t[p]+l.y))}return u};return n.grid=t,n.coordFields=e,n};var jr={};Object.defineProperty(jr,\"__esModule\",{value:!0}),Object.defineProperty(jr,\"edgeTarget\",{enumerable:!0,get:function(){return Pr.default}}),Object.defineProperty(jr,\"elements\",{enumerable:!0,get:function(){return Or.default}}),Object.defineProperty(jr,\"grid\",{enumerable:!0,get:function(){return Er.default}});var Mr={};Object.defineProperty(Mr,\"__esModule\",{value:!0}),Mr.default=void 0;var kr={id:\"snappers\",install:function(t){var e=t.interactStatic;e.snappers=(0,M.default)(e.snappers||{},jr),e.createSnapGrid=e.snappers.grid}},Ir=kr;Mr.default=Ir;var Dr={};function Ar(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function zr(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Ar(Object(n),!0).forEach((function(e){Cr(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ar(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Cr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(Dr,\"__esModule\",{value:!0}),Dr.default=Dr.aspectRatio=void 0;var Rr={start:function(t){var e=t.state,n=t.rect,r=t.edges,o=t.pageCoords,i=e.options.ratio,a=e.options,s=a.equalDelta,l=a.modifiers;\"preserve\"===i&&(i=n.width/n.height),e.startCoords=(0,M.default)({},o),e.startRect=(0,M.default)({},n),e.ratio=i,e.equalDelta=s;var u=e.linkedEdges={top:r.top||r.left&&!r.bottom,left:r.left||r.top&&!r.right,bottom:r.bottom||r.right&&!r.top,right:r.right||r.bottom&&!r.left};if(e.xIsPrimaryAxis=!(!r.left&&!r.right),e.equalDelta){var c=(u.left?1:-1)*(u.top?1:-1);e.edgeSign={x:c,y:c}}else e.edgeSign={x:u.left?-1:1,y:u.top?-1:1};if((0,M.default)(t.edges,u),l&&l.length){var f=new me.default(t.interaction);f.copyFrom(t.interaction.modification),f.prepareStates(l),e.subModification=f,f.startAll(zr({},t))}},set:function(t){var e=t.state,n=t.rect,r=t.coords,o=(0,M.default)({},r),i=e.equalDelta?Fr:Xr;if(i(e,e.xIsPrimaryAxis,r,n),!e.subModification)return null;var a=(0,M.default)({},n);(0,k.addEdges)(e.linkedEdges,a,{x:r.x-o.x,y:r.y-o.y});var s=e.subModification.setAll(zr(zr({},t),{},{rect:a,edges:e.linkedEdges,pageCoords:r,prevCoords:r,prevRect:a})),l=s.delta;return s.changed&&(i(e,Math.abs(l.x)>Math.abs(l.y),s.coords,s.rect),(0,M.default)(r,s.coords)),s.eventProps},defaults:{ratio:\"preserve\",equalDelta:!1,modifiers:[],enabled:!1}};function Fr(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o.y:n.x=r.x+(n.y-r.y)*o.x}function Xr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s.y}else{var u=r.height*a;n.x=i.x+(u-o.width)*s.x}}Dr.aspectRatio=Rr;var Br=(0,Se.makeModifier)(Rr,\"aspectRatio\");Dr.default=Br;var Yr={};Object.defineProperty(Yr,\"__esModule\",{value:!0}),Yr.default=void 0;var Wr=function(){};Wr._defaults={};var Lr=Wr;Yr.default=Lr;var Ur={};Object.defineProperty(Ur,\"__esModule\",{value:!0}),Object.defineProperty(Ur,\"default\",{enumerable:!0,get:function(){return Yr.default}});var Vr={};function Nr(t,e,n){return i.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Vr,\"__esModule\",{value:!0}),Vr.default=void 0,Vr.getRestrictionRect=Nr,Vr.restrict=void 0;var qr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,M.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Nr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Nr(o.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Vr.restrict=qr;var Gr=(0,Se.makeModifier)(qr,\"restrict\");Vr.default=Gr;var $r={};Object.defineProperty($r,\"__esModule\",{value:!0}),$r.restrictEdges=$r.default=void 0;var Hr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Kr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Zr(t,e){for(var n=[\"top\",\"left\",\"bottom\",\"right\"],r=0;r<n.length;r++){var o=n[r];o in t||(t[o]=e[o])}return t}var Jr={noInner:Hr,noOuter:Kr,start:function(t){var e,n=t.interaction,r=t.startOffset,o=t.state,i=o.options;if(i){var a=(0,Vr.getRestrictionRect)(i.offset,n,n.coords.start.page);e=k.rectToXY(a)}e=e||{x:0,y:0},o.offset={top:e.y+r.top,left:e.x+r.left,bottom:e.y-r.bottom,right:e.x-r.right}},set:function(t){var e=t.coords,n=t.edges,r=t.interaction,o=t.state,i=o.offset,a=o.options;if(n){var s=(0,M.default)({},e),l=(0,Vr.getRestrictionRect)(a.inner,r,s)||{},u=(0,Vr.getRestrictionRect)(a.outer,r,s)||{};Zr(l,Hr),Zr(u,Kr),n.top?e.y=Math.min(Math.max(u.top+i.top,s.y),l.top+i.top):n.bottom&&(e.y=Math.max(Math.min(u.bottom+i.bottom,s.y),l.bottom+i.bottom)),n.left?e.x=Math.min(Math.max(u.left+i.left,s.x),l.left+i.left):n.right&&(e.x=Math.max(Math.min(u.right+i.right,s.x),l.right+i.right))}},defaults:{inner:null,outer:null,offset:null,endOnly:!1,enabled:!1}};$r.restrictEdges=Jr;var Qr=(0,Se.makeModifier)(Jr,\"restrictEdges\");$r.default=Qr;var to={};Object.defineProperty(to,\"__esModule\",{value:!0}),to.restrictRect=to.default=void 0;var eo=(0,M.default)({get elementRect(){return{top:0,left:0,bottom:1,right:1}},set elementRect(t){}},Vr.restrict.defaults),no={start:Vr.restrict.start,set:Vr.restrict.set,defaults:eo};to.restrictRect=no;var ro=(0,Se.makeModifier)(no,\"restrictRect\");to.default=ro;var oo={};Object.defineProperty(oo,\"__esModule\",{value:!0}),oo.restrictSize=oo.default=void 0;var io={width:-1/0,height:-1/0},ao={width:1/0,height:1/0},so={start:function(t){return $r.restrictEdges.start(t)},set:function(t){var e=t.interaction,n=t.state,r=t.rect,o=t.edges,i=n.options;if(o){var a=k.tlbrToXywh((0,Vr.getRestrictionRect)(i.min,e,t.coords))||io,s=k.tlbrToXywh((0,Vr.getRestrictionRect)(i.max,e,t.coords))||ao;n.options={endOnly:i.endOnly,inner:(0,M.default)({},$r.restrictEdges.noInner),outer:(0,M.default)({},$r.restrictEdges.noOuter)},o.top?(n.options.inner.top=r.bottom-a.height,n.options.outer.top=r.bottom-s.height):o.bottom&&(n.options.inner.bottom=r.top+a.height,n.options.outer.bottom=r.top+s.height),o.left?(n.options.inner.left=r.right-a.width,n.options.outer.left=r.right-s.width):o.right&&(n.options.inner.right=r.left+a.width,n.options.outer.right=r.left+s.width),$r.restrictEdges.set(t),n.options=i}},defaults:{min:null,max:null,endOnly:!1,enabled:!1}};oo.restrictSize=so;var lo=(0,Se.makeModifier)(so,\"restrictSize\");oo.default=lo;var uo={};Object.defineProperty(uo,\"__esModule\",{value:!0}),Object.defineProperty(uo,\"default\",{enumerable:!0,get:function(){return Yr.default}});var co={};Object.defineProperty(co,\"__esModule\",{value:!0}),co.snap=co.default=void 0;var fo={start:function(t){var e,n=t.interaction,r=t.interactable,o=t.element,i=t.rect,a=t.state,s=t.startOffset,l=a.options,u=l.offsetWithOrigin?function(t){var e=t.interaction.element;return(0,k.rectToXY)((0,k.resolveRectLike)(t.state.options.origin,null,null,[e]))||(0,A.default)(t.interactable,e,t.interaction.prepared.name)}(t):{x:0,y:0};if(\"startCoords\"===l.offset)e={x:n.coords.start.page.x,y:n.coords.start.page.y};else{var c=(0,k.resolveRectLike)(l.offset,r,o,[n]);(e=(0,k.rectToXY)(c)||{x:0,y:0}).x+=u.x,e.y+=u.y}var f=l.relativePoints;a.offsets=i&&f&&f.length?f.map((function(t,n){return{index:n,relativePoint:t,x:s.left-i.width*t.x+e.x,y:s.top-i.height*t.y+e.y}})):[{index:0,relativePoint:null,x:e.x,y:e.y}]},set:function(t){var e=t.interaction,n=t.coords,r=t.state,o=r.options,a=r.offsets,s=(0,A.default)(e.interactable,e.element,e.prepared.name),l=(0,M.default)({},n),u=[];o.offsetWithOrigin||(l.x-=s.x,l.y-=s.y);for(var c=0;c<a.length;c++)for(var f=a[c],d=l.x-f.x,p=l.y-f.y,v=0,h=o.targets.length;v<h;v++){var g,y=o.targets[v];(g=i.default.func(y)?y(d,p,e._proxy,f,v):y)&&u.push({x:(i.default.number(g.x)?g.x:d)+f.x,y:(i.default.number(g.y)?g.y:p)+f.y,range:i.default.number(g.range)?g.range:o.range,source:y,index:v,offset:f})}for(var m={target:null,inRange:!1,distance:0,range:0,delta:{x:0,y:0}},b=0;b<u.length;b++){var x=u[b],w=x.range,_=x.x-l.x,P=x.y-l.y,O=(0,R.default)(_,P),E=O<=w;w===1/0&&m.inRange&&m.range!==1/0&&(E=!1),m.target&&!(E?m.inRange&&w!==1/0?O/w<m.distance/m.range:w===1/0&&m.range!==1/0||O<m.distance:!m.inRange&&O<m.distance)||(m.target=x,m.distance=O,m.range=w,m.inRange=E,m.delta.x=_,m.delta.y=P)}return m.inRange&&(n.x=m.target.x,n.y=m.target.y),r.closest=m,m},defaults:{range:1/0,targets:null,offset:null,offsetWithOrigin:!0,origin:null,relativePoints:null,endOnly:!1,enabled:!1}};co.snap=fo;var po=(0,Se.makeModifier)(fo,\"snap\");co.default=po;var vo={};function ho(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}Object.defineProperty(vo,\"__esModule\",{value:!0}),vo.snapSize=vo.default=void 0;var go={start:function(t){var e=t.state,n=t.edges,r=e.options;if(!n)return null;t.state={options:{targets:null,relativePoints:[{x:n.left?0:1,y:n.top?0:1}],offset:r.offset||\"self\",origin:{x:0,y:0},range:r.range}},e.targetFields=e.targetFields||[[\"width\",\"height\"],[\"x\",\"y\"]],co.snap.start(t),e.offsets=t.state.offsets,t.state=e},set:function(t){var e,n,r=t.interaction,o=t.state,a=t.coords,s=o.options,l=o.offsets,u={x:a.x-l[0].x,y:a.y-l[0].y};o.options=(0,M.default)({},s),o.options.targets=[];for(var c=0;c<(s.targets||[]).length;c++){var f=(s.targets||[])[c],d=void 0;if(d=i.default.func(f)?f(u.x,u.y,r):f){for(var p=0;p<o.targetFields.length;p++){var v=(e=o.targetFields[p],n=2,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(e,n)||function(t,e){if(t){if(\"string\"==typeof t)return ho(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ho(t,e):void 0}}(e,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),h=v[0],g=v[1];if(h in d||g in d){d.x=d[h],d.y=d[g];break}}o.options.targets.push(d)}}var y=co.snap.set(t);return o.options=s,y},defaults:{range:1/0,targets:null,offset:null,endOnly:!1,enabled:!1}};vo.snapSize=go;var yo=(0,Se.makeModifier)(go,\"snapSize\");vo.default=yo;var mo={};Object.defineProperty(mo,\"__esModule\",{value:!0}),mo.snapEdges=mo.default=void 0;var bo={start:function(t){var e=t.edges;return e?(t.state.targetFields=t.state.targetFields||[[e.left?\"left\":\"right\",e.top?\"top\":\"bottom\"]],vo.snapSize.start(t)):null},set:vo.snapSize.set,defaults:(0,M.default)((0,ye.default)(vo.snapSize.defaults),{targets:null,range:null,offset:{x:0,y:0}})};mo.snapEdges=bo;var xo=(0,Se.makeModifier)(bo,\"snapEdges\");mo.default=xo;var wo={};Object.defineProperty(wo,\"__esModule\",{value:!0}),Object.defineProperty(wo,\"default\",{enumerable:!0,get:function(){return Yr.default}});var _o={};Object.defineProperty(_o,\"__esModule\",{value:!0}),Object.defineProperty(_o,\"default\",{enumerable:!0,get:function(){return Yr.default}});var Po={};Object.defineProperty(Po,\"__esModule\",{value:!0}),Po.default=void 0;var Oo={aspectRatio:Dr.default,restrictEdges:$r.default,restrict:Vr.default,restrictRect:to.default,restrictSize:oo.default,snapEdges:mo.default,snap:co.default,snapSize:vo.default,spring:wo.default,avoid:Ur.default,transform:_o.default,rubberband:uo.default};Po.default=Oo;var Eo={};Object.defineProperty(Eo,\"__esModule\",{value:!0}),Eo.default=void 0;var So={id:\"modifiers\",install:function(t){var e=t.interactStatic;for(var n in t.usePlugin(Se.default),t.usePlugin(Mr.default),e.modifiers=Po.default,Po.default){var r=Po.default[n],o=r._defaults,i=r._methods;o._methods=i,t.defaults.perAction[n]=o}}},To=So;Eo.default=To;var jo={};function Mo(t){return Mo=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Mo(t)}function ko(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Io(t,e){return Io=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Io(t,e)}function Do(t,e){if(e&&(\"object\"===Mo(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return Ao(t)}function Ao(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function zo(t){return zo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},zo(t)}Object.defineProperty(jo,\"__esModule\",{value:!0}),jo.default=jo.PointerEvent=void 0;var Co=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&Io(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=zo(r);if(o){var n=zo(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Do(this,t)});function a(t,e,n,r,o,s){var l;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,a),l=i.call(this,o),X.pointerExtend(Ao(l),n),n!==e&&X.pointerExtend(Ao(l),e),l.timeStamp=s,l.originalEvent=n,l.type=t,l.pointerId=X.getPointerId(e),l.pointerType=X.getPointerType(e),l.target=r,l.currentTarget=null,\"tap\"===t){var u=o.getPointerIndex(e);l.dt=l.timeStamp-o.pointers[u].downTime;var c=l.timeStamp-o.tapTime;l.double=!!o.prevTap&&\"doubletap\"!==o.prevTap.type&&o.prevTap.target===l.target&&c<500}else\"doubletap\"===t&&(l.dt=e.timeStamp-o.tapTime,l.double=!0);return l}return e=a,(n=[{key:\"_subtractOrigin\",value:function(t){var e=t.x,n=t.y;return this.pageX-=e,this.pageY-=n,this.clientX-=e,this.clientY-=n,this}},{key:\"_addOrigin\",value:function(t){var e=t.x,n=t.y;return this.pageX+=e,this.pageY+=n,this.clientX+=e,this.clientY+=n,this}},{key:\"preventDefault\",value:function(){this.originalEvent.preventDefault()}}])&&ko(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),a}(N.BaseEvent);jo.PointerEvent=jo.default=Co;var Ro={};Object.defineProperty(Ro,\"__esModule\",{value:!0}),Ro.default=void 0;var Fo={id:\"pointer-events/base\",before:[\"inertia\",\"modifiers\",\"auto-start\",\"actions\"],install:function(t){t.pointerEvents=Fo,t.defaults.actions.pointerEvents=Fo.defaults,(0,M.default)(t.actions.phaselessTypes,Fo.types)},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.prevTap=null,e.tapTime=0},\"interactions:update-pointer\":function(t){var e=t.down,n=t.pointerInfo;!e&&n.hold||(n.hold={duration:1/0,timeout:null})},\"interactions:move\":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;t.duplicate||n.pointerIsDown&&!n.pointerWasMoved||(n.pointerIsDown&&Yo(t),Xo({interaction:n,pointer:r,event:o,eventTarget:i,type:\"move\"},e))},\"interactions:down\":function(t,e){!function(t,e){for(var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget,a=t.pointerIndex,s=n.pointers[a].hold,l=_.getPath(i),u={interaction:n,pointer:r,event:o,eventTarget:i,type:\"hold\",targets:[],path:l,node:null},c=0;c<l.length;c++){var f=l[c];u.node=f,e.fire(\"pointerEvents:collect-targets\",u)}if(u.targets.length){for(var d=1/0,p=0;p<u.targets.length;p++){var v=u.targets[p].eventable.options.holdDuration;v<d&&(d=v)}s.duration=d,s.timeout=setTimeout((function(){Xo({interaction:n,eventTarget:i,pointer:r,event:o,type:\"hold\"},e)}),d)}}(t,e),Xo(t,e)},\"interactions:up\":function(t,e){Yo(t),Xo(t,e),function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.pointerWasMoved||Xo({interaction:n,eventTarget:i,pointer:r,event:o,type:\"tap\"},e)}(t,e)},\"interactions:cancel\":function(t,e){Yo(t),Xo(t,e)}},PointerEvent:jo.PointerEvent,fire:Xo,collectEventTargets:Bo,defaults:{holdDuration:600,ignoreFrom:null,allowFrom:null,origin:{x:0,y:0}},types:{down:!0,move:!0,up:!0,cancel:!0,tap:!0,doubletap:!0,hold:!0}};function Xo(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget,a=t.type,s=t.targets,l=void 0===s?Bo(t,e):s,u=new jo.PointerEvent(a,r,o,i,n,e.now());e.fire(\"pointerEvents:new\",{pointerEvent:u});for(var c={interaction:n,pointer:r,event:o,eventTarget:i,targets:l,type:a,pointerEvent:u},f=0;f<l.length;f++){var d=l[f];for(var p in d.props||{})u[p]=d.props[p];var v=(0,A.default)(d.eventable,d.node);if(u._subtractOrigin(v),u.eventable=d.eventable,u.currentTarget=d.node,d.eventable.fire(u),u._addOrigin(v),u.immediatePropagationStopped||u.propagationStopped&&f+1<l.length&&l[f+1].node!==u.currentTarget)break}if(e.fire(\"pointerEvents:fired\",c),\"tap\"===a){var h=u.double?Xo({interaction:n,pointer:r,event:o,eventTarget:i,type:\"doubletap\"},e):u;n.prevTap=h,n.tapTime=h.timeStamp}return u}function Bo(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget,a=t.type,s=n.getPointerIndex(r),l=n.pointers[s];if(\"tap\"===a&&(n.pointerWasMoved||!l||l.downTarget!==i))return[];for(var u=_.getPath(i),c={interaction:n,pointer:r,event:o,eventTarget:i,type:a,path:u,targets:[],node:null},f=0;f<u.length;f++){var d=u[f];c.node=d,e.fire(\"pointerEvents:collect-targets\",c)}return\"hold\"===a&&(c.targets=c.targets.filter((function(t){var e;return t.eventable.options.holdDuration===(null==(e=n.pointers[s])?void 0:e.hold.duration)}))),c.targets}function Yo(t){var e=t.interaction,n=t.pointerIndex,r=e.pointers[n].hold;r&&r.timeout&&(clearTimeout(r.timeout),r.timeout=null)}var Wo=Fo;Ro.default=Wo;var Lo={};function Uo(t){var e=t.interaction;e.holdIntervalHandle&&(clearInterval(e.holdIntervalHandle),e.holdIntervalHandle=null)}Object.defineProperty(Lo,\"__esModule\",{value:!0}),Lo.default=void 0;var Vo={id:\"pointer-events/holdRepeat\",install:function(t){t.usePlugin(Ro.default);var e=t.pointerEvents;e.defaults.holdRepeatInterval=0,e.types.holdrepeat=t.actions.phaselessTypes.holdrepeat=!0},listeners:[\"move\",\"up\",\"cancel\",\"endall\"].reduce((function(t,e){return t[\"pointerEvents:\".concat(e)]=Uo,t}),{\"pointerEvents:new\":function(t){var e=t.pointerEvent;\"hold\"===e.type&&(e.count=(e.count||0)+1)},\"pointerEvents:fired\":function(t,e){var n=t.interaction,r=t.pointerEvent,o=t.eventTarget,i=t.targets;if(\"hold\"===r.type&&i.length){var a=i[0].eventable.options.holdRepeatInterval;a<=0||(n.holdIntervalHandle=setTimeout((function(){e.pointerEvents.fire({interaction:n,eventTarget:o,type:\"hold\",pointer:r,event:r},e)}),a))}}})},No=Vo;Lo.default=No;var qo={};function Go(t){return(0,M.default)(this.events.options,t),this}Object.defineProperty(qo,\"__esModule\",{value:!0}),qo.default=void 0;var $o={id:\"pointer-events/interactableTargets\",install:function(t){var e=t.Interactable;e.prototype.pointerEvents=Go;var n=e.prototype._backCompatOption;e.prototype._backCompatOption=function(t,e){var r=n.call(this,t,e);return r===this&&(this.events.options[t]=e),r}},listeners:{\"pointerEvents:collect-targets\":function(t,e){var n=t.targets,r=t.node,o=t.type,i=t.eventTarget;e.interactables.forEachMatch(r,(function(t){var e=t.events,a=e.options;e.types[o]&&e.types[o].length&&t.testIgnoreAllow(a,r,i)&&n.push({node:r,eventable:e,props:{interactable:t}})}))},\"interactable:new\":function(t){var e=t.interactable;e.events.getRect=function(t){return e.getRect(t)}},\"interactable:set\":function(t,e){var n=t.interactable,r=t.options;(0,M.default)(n.events.options,e.pointerEvents.defaults),(0,M.default)(n.events.options,r.pointerEvents||{})}}},Ho=$o;qo.default=Ho;var Ko={};Object.defineProperty(Ko,\"__esModule\",{value:!0}),Ko.default=void 0;var Zo={id:\"pointer-events\",install:function(t){t.usePlugin(Ro),t.usePlugin(Lo.default),t.usePlugin(qo.default)}},Jo=Zo;Ko.default=Jo;var Qo={};function ti(t){var e=t.Interactable;t.actions.phases.reflow=!0,e.prototype.reflow=function(e){return function(t,e,n){for(var r=i.default.string(t.target)?H.from(t._context.querySelectorAll(t.target)):[t.target],o=n.window.Promise,a=o?[]:null,s=function(){var i=r[l],s=t.getRect(i);if(!s)return\"break\";var u=H.find(n.interactions.list,(function(n){return n.interacting()&&n.interactable===t&&n.element===i&&n.prepared.name===e.name})),c=void 0;if(u)u.move(),a&&(c=u._reflowPromise||new o((function(t){u._reflowResolve=t})));else{var f=(0,k.tlbrToXywh)(s),d={page:{x:f.x,y:f.y},client:{x:f.x,y:f.y},timeStamp:n.now()},p=X.coordsToEvent(d);c=function(t,e,n,r,o){var i=t.interactions.new({pointerType:\"reflow\"}),a={interaction:i,event:o,pointer:o,eventTarget:n,phase:\"reflow\"};i.interactable=e,i.element=n,i.prevEvent=o,i.updatePointer(o,o,n,!0),X.setZeroCoords(i.coords.delta),(0,Xt.copyAction)(i.prepared,r),i._doPhase(a);var s=t.window.Promise,l=s?new s((function(t){i._reflowResolve=t})):void 0;return i._reflowPromise=l,i.start(r,e,n),i._interacting?(i.move(a),i.end(o)):(i.stop(),i._reflowResolve()),i.removePointer(o,o),l}(n,t,i,e,p)}a&&a.push(c)},l=0;l<r.length&&\"break\"!==s();l++);return a&&o.all(a).then((function(){return t}))}(this,e,t)}}Object.defineProperty(Qo,\"__esModule\",{value:!0}),Qo.default=void 0,Qo.install=ti;var ei={id:\"reflow\",install:ti,listeners:{\"interactions:stop\":function(t,e){var n=t.interaction;\"reflow\"===n.pointerType&&(n._reflowResolve&&n._reflowResolve(),H.remove(e.interactions.list,n))}}},ni=ei;Qo.default=ni;var ri={exports:{}};function oi(t){return oi=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},oi(t)}Object.defineProperty(ri.exports,\"__esModule\",{value:!0}),ri.exports.default=void 0,br.default.use(le.default),br.default.use(Qe.default),br.default.use(Ko.default),br.default.use(ln.default),br.default.use(Eo.default),br.default.use(ae.default),br.default.use(Et.default),br.default.use(Dt.default),br.default.use(Qo.default);var ii=br.default;if(ri.exports.default=ii,\"object\"===oi(ri)&&ri)try{ri.exports=br.default}catch(t){}br.default.default=br.default,Et.default,Dt.default,ae.default,le.default,he.default,ln.default,br.default,Eo.default,Qe.default,Ko.default,Qo.default,ri=ri.exports;var ai={exports:{}};function si(t){return si=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},si(t)}Object.defineProperty(ai.exports,\"__esModule\",{value:!0}),ai.exports.default=void 0;var li=ri.default;if(ai.exports.default=li,\"object\"===si(ai)&&ai)try{ai.exports=ri.default}catch(t){}return ri.default.default=ri.default,ai.exports}));\n//# sourceMappingURL=interact.min.js.map\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/interactjs@1.10.17/node_modules/interactjs/dist/interact.min.js?");

    /***/ }),
    
    /***/ "./src/CommonStyle.ts":
    /*!****************************!*\
      !*** ./src/CommonStyle.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst CommonStyle = `\r\n\r\nwie-num {\r\n  position: absolute;\r\n  left: 5px;\r\n  top: 5px;\r\n  height: 30px;\r\n  width: 30px;\r\n  text-align: center;\r\n  line-height: 30px;\r\n  background: var(--bgColor);\r\n  border: 2px solid var(--mainColor);\r\n  border-radius: 3px;\r\n  box-shadow: 3px 3px 0px 0px var(--mainColor);\r\n  transition: all 0.3s ease;\r\n}\r\n\r\nwie-grid{\r\n\r\n}\r\n\r\nwie-num:hover {\r\n  box-shadow: 5px 5px 0px 0px var(--mainColor);\r\n}\r\n\r\n.wie-hidden-style{\r\n    display: none !important;\r\n}\r\niframe#webpack-dev-server-client-overlay {\r\n    display: none;\r\n}\r\nwie-popup{\r\n  font-family: Microsoft YaHei,sans-serif;\r\n  position: fixed;\r\n  display: block;\r\n  text-align: left;\r\n  top: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  color: var(--color);\r\n  min-width: 100px;\r\n  z-index: 99999;\r\n  font-size: 12px;\r\n  width: 300px;\r\n  transform: translate(0,0);\r\n  transition: 0.1s;\r\n  transition-timing-function: ease-out;\r\n  background: var(--bgLightColor);\r\n  box-shadow: 4px 4px 12px #ccc, -1px -1px 5px #eee;\r\n  /* box-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%); */\r\n  /* border-radius: 8px; */\r\n  user-select: none;\r\n  box-sizing: content-box;\r\n  line-height: 1.5;\r\n  backdrop-filter: blur(5px);\r\n  background-color: rgba(213, 220, 226, 0.7);\r\n}\r\n\r\nwie-popup.wie-mobile {\r\n    top: 0;\r\n    bottom: 0;\r\n    right: 0;\r\n}\r\n\r\n.no-padding{\r\n    padding: 0 !important;\r\n}\r\n\r\nwie-popup.wie-hidden{\r\n    transform:translate(120%,0);\r\n}\r\ndiv#wie-line+wie-intro {\r\n  padding: 2px 10px 0;\r\n  display: block;\r\n}\r\n\r\n\r\n#wie-injects {\r\n  position: absolute;\r\n  top: 10px;\r\n  right: 10px;\r\n  left: 10px;\r\n  bottom: 10px;\r\n  background: var(--bgLightColor);\r\n  overflow: hidden;\r\n}\r\n\r\n.wie-inject{\r\n    height: 100%;\r\n    width: 100%;\r\n}\r\n\r\n\r\n.wie-option{\r\n  background: var(--bgLightColor);\r\n  position: absolute;\r\n  left: -20px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  border-radius: 8px 0 0 8px;\r\n  box-shadow: -3px 0px 10px 2px var(--bgLightColor);\r\n  box-shadow: 0 0px 13px 2px #ddd;\r\n  fill: var(--mainColor);\r\n  box-sizing: content-box;\r\n  padding: 12px 0px 5px 0px;\r\n}\r\n\r\n.wie-option>*:not(:last-child){\r\n    margin-bottom: 10px;\r\n}\r\n\r\n.wie-option-item{\r\n    width: 30px;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    padding: 0px 6px;\r\n    box-sizing: border-box;\r\n    transition: all ease-in-out 0.3s;\r\n    transform: translate(0,0);\r\n}\r\n\r\n.wie-option-item:hover {\r\n    transform: scale(1.1);\r\n}\r\n\r\n#wie-fixed.fixed{\r\n    fill: #db363c;\r\n    position: relative;\r\n}   \r\n\r\n.wie-option-item>svg{\r\n    width: 100%;\r\n}\r\n\r\n\r\n.wie-inject-btn {\r\n    padding: 5px;\r\n    cursor: pointer;\r\n    text-align: center;\r\n    width: 30px;\r\n    box-sizing: border-box;\r\n    word-break: break-all;\r\n}\r\n\r\n.wie-inject-btn.selected {\r\n    background: var(--bgColor);\r\n    border-bottom: 1px solid var(--mainColor);\r\n    border-top: 1px solid var(--mainColor);\r\n    font-weight: 700;\r\n    color: var(--color);\r\n}\r\n\r\n#wie-page-count{\r\n    position: absolute;\r\n    /* top: 0; */\r\n    right: 2px;\r\n    bottom: -14px;\r\n    background: red;\r\n    color: #FFF;\r\n    font-weight: bolder;\r\n    border-radius: 50%;\r\n    /* padding: 4px 6px; */\r\n    height: 10px;\r\n    width: 10px;\r\n    text-align: center;\r\n    line-height: 1;\r\n    font-size: 8px;\r\n    transition: all 0.3s ease;\r\n    transform: scale(1);\r\n}\r\n\r\n#wie-page-count.wie-hidden{\r\n    transform: scale(0);\r\n}\r\n\r\n\r\n\r\n.wie-page {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    background: var(--bgLightColor);\r\n    z-index: 1;\r\n    font-size: 12px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    overflow: hidden;\r\n}\r\n\r\npage-content{\r\n    width: 100%;\r\n    height: 100%;    \r\n    display: flex;\r\n    flex-direction: column;\r\n}\r\n\r\n\r\nwie-popup.wie-left{\r\n    right: auto;\r\n    left: 10px;\r\n}\r\n\r\nwie-popup.wie-left.wie-hidden{\r\n    transform:translate(-120%,0);\r\n}\r\n\r\nwie-content{\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    height: 100%;\r\n}\r\n\r\nwie-content>wie-area{\r\n    height: auto;\r\n    overflow: visible;\r\n    margin: 0;\r\n    z-index: 1;\r\n}\r\n\r\n.wie-scroll{\r\n    overflow: auto;\r\n    height: 100%;\r\n    padding: 10px 0px 0;\r\n    position: relative;\r\n}\r\n\r\n\r\n#wie-code .wie-scroll{\r\n    height: 100%;\r\n    overflow: auto;\r\n    padding: 15px 0px;\r\n}\r\n\r\n#wie-drag {\r\n    position: absolute;\r\n    width: 30px;\r\n    border: 1px;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: -30px;\r\n}\r\n\r\n.wie-model #wie-drag{\r\n    display: none;\r\n}\r\n\r\n\r\nwie-dialog {\r\n  display: flex;\r\n  z-index: 9999999;\r\n  position: fixed;\r\n  top: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  left: 0;\r\n  align-items: center;\r\n  justify-content: center;\r\n  width: inherit;\r\n  min-width: 100%;\r\n  height: inherit;\r\n  min-height: 100%;\r\n  border: 0;\r\n  backdrop-filter: blur(5px);\r\n  background-color: rgba(213, 220, 226, 0.7);\r\n  color: var(--color);\r\n}\r\n\r\n\r\nwie-dialog:not([open]), wie-dialog[open=false] {\r\n  display: none;\r\n}\r\n\r\n.modal-is-open {\r\n  padding-right: var(--scrollbar-width, 0px);\r\n  overflow: hidden;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n}\r\n.modal-is-open wie-dialog {\r\n  pointer-events: auto;\r\n}\r\n\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog,\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog > * {\r\n  animation-duration: 0.2s;\r\n  animation-timing-function: ease-in-out;\r\n  animation-fill-mode: both;\r\n}\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog {\r\n  animation-duration: 0.4s;\r\n  animation-name: modal-overlay;\r\n}\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog > * {\r\n  animation-delay: 0.2s;\r\n  animation-name: modal;\r\n}\r\n\r\n.modal-is-closing wie-dialog,\r\n.modal-is-closing wie-dialog > * {\r\n  animation-delay: 0s;\r\n  animation-direction: reverse;\r\n}\r\n\r\n@keyframes modal-overlay {\r\n  from {\r\n      -webkit-backdrop-filter: none;\r\n      backdrop-filter: none;\r\n      background-color: transparent;\r\n  }   \r\n}\r\n@keyframes modal {\r\n  from {\r\n      transform: translateY(50%);\r\n      opacity: 0;\r\n  }\r\n}\r\n\r\n\r\n.wie-scroll::-webkit-scrollbar,\r\ntextarea::-webkit-scrollbar,\r\nwie-scroll::-webkit-scrollbar {\r\n    width: 6px;\r\n    height: 6px;\r\n    border-radius: 6px;\r\n}\r\n.wie-scroll::-webkit-scrollbar-thumb,\r\ntextarea::-webkit-scrollbar-thumb,\r\nwie-scroll::-webkit-scrollbar-thumb {\r\n    background-color: var(--colorLight);\r\n    -webkit-background-clip: content-box;\r\n    background-clip: content-box;\r\n    border-top: 0px solid rgba(255, 255, 255, 0);\r\n    border-bottom: 0px solid rgba(255, 255, 255, 0);\r\n    border-right: 0px solid rgba(255, 255, 255, 0);\r\n    transition: 0.3s ease-in-out;\r\n    border-radius: 6px;\r\n}\r\n.wie-scroll::-webkit-scrollbar-track,\r\ntextarea::-webkit-scrollbar-track,\r\nwie-scroll::-webkit-scrollbar-track {\r\n    background-color: var(--bgLightColor);\r\n}\r\n\r\n\r\nwie-area{\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--borderColor);\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    margin: 0 10px 15px;\r\n    border-radius: 5px;\r\n    overflow: hidden;\r\n    display: block;\r\n    padding: 0 10px 10px;\r\n    position: relative;\r\n}\r\n\r\nwie-area.no-border{\r\n    border: none;\r\n    border-bottom: 1px solid var(--borderColor);\r\n    border-radius: 0;\r\n    padding: 0;\r\n    margin: 0;\r\n    overflow: visible;\r\n    z-index: 1;\r\n}\r\n\r\nwie-area.margin-top{\r\n    margin-top: 10px;\r\n}\r\n\r\n.wie-setting {\r\n    width: 720px;\r\n    margin: auto;\r\n    background: var(--bgLightColor);\r\n    box-shadow: 4px 4px 12px #ccc, -1px -1px 5px #eee;\r\n    box-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);\r\n    border-radius: 8px;\r\n    overflow: hidden;\r\n    font-size: 12px;\r\n    height: 80%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    max-width: 96%;\r\n}\r\n\r\n.wie-setting .wie-scroll {\r\n    height: 100%;\r\n    overflow: auto;\r\n    padding: 10px 0 0;\r\n}\r\n\r\n\r\n\r\n.setting-title {\r\n    text-align: center;\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    padding: 13px;\r\n    color: var(--color);\r\n}\r\n\r\nwie-input{\r\n    width: 45%;\r\n    display: inline-block;\r\n    margin-right: 5%;\r\n    position: relative;\r\n    margin-bottom: 10px;\r\n    border-radius: 4px;\r\n    float: left;\r\n\r\n}\r\n\r\nwie-input .name {\r\n    background: var(--bgLLColor);\r\n    color: var(--color);\r\n    border: 1px solid var(--borderColor);\r\n    text-align: center;\r\n    border-radius: 4px 0 0 4px;\r\n    font-weight: 700;\r\n    font-size: 12px;\r\n    word-break: keep-all;\r\n    padding: 8px 10px;\r\n    vertical-align: top;\r\n    box-sizing: border-box;\r\n    width: 120px;\r\n}\r\n\r\n\r\n\r\nwie-input.w-focus{\r\n    outline: 2px solid var(--mainColor) !important;\r\n}\r\n\r\nwie-input .input {\r\n    border: 1px solid var(--borderColor);\r\n    width: 100%;\r\n    padding: 8px;\r\n    margin-bottom: 5px;\r\n    resize: none;\r\n    height: auto;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    font-size: 12px;\r\n    background: var(--bgLightColor);\r\n    color: var(--color);\r\n    border-radius: 0 4px 4px 0;\r\n    margin: 0;\r\n    box-sizing: border-box;\r\n    vertical-align: top;\r\n    border:none;\r\n}\r\n\r\nwie-input .input:focus{\r\n    background: var(--mainLightColor) !important;\r\n    outline: none !important;\r\n    box-shadow: none !important;\r\n    color: var(--mainTextColor) !important;\r\n    border-color: var(--mainColor) !important;\r\n}\r\n\r\nwie-input .input:active{\r\n    box-shadow: none !important;\r\n    border-color: var(--mainColor) !important;\r\n}\r\n\r\nwie-input.h-line,\r\nwie-input.hh-line{\r\n    display: flex;\r\n    align-items: stretch;\r\n    justify-content: stretch;\r\n}\r\n\r\nwie-input.h-line{\r\n    width: 100%;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-input.vh-line .name,\r\nwie-input.v-line .name{\r\n    border-radius: 4px 4px 0 0;\r\n    height: 25px;\r\n    line-height: 25px;\r\n    text-align: left;\r\n    width: auto;\r\n    padding: 0 10px;\r\n}\r\n\r\nwie-input.vh-line .input,\r\nwie-input.v-line .input{\r\n    border-radius: 0 0 4px 4px;\r\n\r\n}\r\n\r\nwie-input.v-line{\r\n    width: 100%;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-input .checkbox{\r\n    position: absolute;\r\n    top: 1px;\r\n    right: 3px;\r\n}\r\n\r\nwie-input .host-item {\r\n    position: absolute;\r\n    top: 6px;\r\n    color: #ddd;\r\n    fill: #ddd;\r\n    right: -20px;\r\n    cursor: pointer;\r\n}\r\n\r\nwie-input .host-item.checking {\r\n    animation: colorSwitch 1s infinite;\r\n}\r\n\r\nwie-input .host-item.error {\r\n    fill: #ff0000;\r\n}\r\n\r\nwie-input .host-item.success {\r\n    fill: #1afa29;\r\n}\r\n\r\n\r\n\r\n\r\nwie-input .color{\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0;\r\n    height: 32px;\r\n    width: 32px;\r\n    border-radius: 0;\r\n}\r\n\r\n\r\nwie-input .range{\r\n    -webkit-appearance: none;\r\n    height: 6px;\r\n    width: 100%;\r\n    padding: 12px 0;\r\n    cursor: pointer;\r\n    border: 0;\r\n    background: none;\r\n}\r\n\r\nwie-input .range-out{\r\n    width: 100%;\r\n    position: relative;\r\n}\r\n\r\nwie-input .range::-webkit-slider-thumb {\r\n    -webkit-appearance: none;\r\n    height: 14px;\r\n    width: 14px;\r\n    border-radius: 8px;\r\n    position: relative;\r\n    top: -6px;\r\n    background: var(--mainColor);\r\n    cursor: pointer;\r\n}\r\n\r\nwie-input .range-light {\r\n    position: absolute;\r\n    height: 4px;\r\n    background: var(--mainColor);\r\n    width: 40%;\r\n    top: 13px;\r\n    left: 2px;\r\n    border-radius: 8px;\r\n}\r\n\r\n/* 高亮选中区域 */\r\nwie-input .range::-webkit-slider-runnable-track{\r\n    -webkit-appearance: none;\r\n    height: 4px;\r\n    border-radius: 2px;\r\n    background:var(--mainLLColor);\r\n}\r\n\r\nwie-input .range-add,\r\nwie-input .range-sub{\r\n    color: var(--color);\r\n    width: 30px;\r\n    height: 30px;\r\n    text-align: center;\r\n    line-height: 30px;\r\n    font-size: 25px;\r\n    font-weight: 700;\r\n    box-sizing: content-box;\r\n    padding: 0 10px 0 10px;\r\n    cursor: pointer;\r\n}\r\nwie-input .range-add{\r\n    padding: 0 10px 0 10px;\r\n}\r\nwie-input .range-name{\r\n    height: 30px;\r\n    background: none;\r\n    line-height: 40px;\r\n    font-size: 14px;\r\n    border: none;\r\n}\r\nwie-input .range-value{\r\n    font-size: 14px;\r\n    line-height: 34px;\r\n    width: 106px;\r\n    color: var(--color);\r\n    text-align: center;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n@keyframes colorSwitch {\r\n\t0% {\r\n\t\tfill: #ddd\r\n\t}\r\n\r\n\t49% {\r\n\t\tfill: #e8b61d\r\n\t}\r\n\t100% {\r\n\t\tfill: #ddd\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.checkbox {\r\n    margin-top: 10px;\r\n    margin: 6px 5px;\r\n}\r\n\r\n.ios-switch{\r\n    position: relative;\r\n    appearance: none;\r\n    cursor: pointer;\r\n    transition: all 500ms;\r\n    border-radius: 31px;\r\n    width: 42px;\r\n    height: 18px;\r\n    background-color: #e9e9eb;\r\n}\r\n    \r\n.ios-switch::before {\r\n    position: absolute;\r\n    content: \"\";\r\n    transition: all 300ms cubic-bezier(.45, 1, .4, 1);\r\n    border-radius: 31px;\r\n    width: 42px;\r\n    height: 18px;\r\n    background-color: var(--mainLightColor);\r\n}\r\n    \r\n.ios-switch::after{\r\n    position: absolute;\r\n    left: 2px;\r\n    top: 2px;\r\n    border-radius: 27px;\r\n    width: 13px;\r\n    height: 13px;\r\n    background-color: var(--mainTextColor);\r\n    box-shadow: 1px 1px 5px rgba(var(--mainColor), .3);\r\n    content: \"\";\r\n    transition: all 300ms cubic-bezier(.4, .4, .25, 1.35);\r\n}\r\n    \r\n.ios-switch:checked{\r\n    background-color: var(--mainColor);\r\n}\r\n.ios-switch:checked::before {\r\n    transform: scale(0);\r\n}\r\n    \r\n.ios-switch:checked::after{\r\n    transform: translateX(25px);\r\n}\r\n\r\n#wie-log{\r\n    height: 0;\r\n    display: block;\r\n    transition: all 300ms cubic-bezier(.4, .4, .25, 1.35);\r\n    margin-top: 10px;\r\n}\r\n\r\n#wie-log.show{\r\n    height: 500px;\r\n}\r\n\r\n\r\n\r\n.wie-setting .no-border:nth-child(1) {\r\n    margin-bottom: 10px;\r\n}\r\n\r\n#wie-save {\r\n    margin: 10px auto;\r\n    display: block;\r\n    width: 90px;\r\n    text-align: center;\r\n    padding: 6PX;\r\n    font-size: 14px !important;\r\n}\r\n\r\n#close {\r\n    width: 41px;\r\n    position: absolute;\r\n    right: 12px;\r\n    top: 4px;\r\n    cursor: pointer;\r\n    fill: var(--mainColor);\r\n}\r\n#close svg{\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n\r\n/* 链接相关 */\r\n.wie-btn,\r\nwie-btn{\r\n    margin: 0px 5px 5px 0px;\r\n    border-radius: 4px;\r\n    display: inline-block;\r\n    /* box-shadow: -2px -2px 4px rgb(240 240 240), 2px 2px 4px rgb(70 70 70 / 50%); */\r\n    cursor: pointer;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    padding: 1px 6px;\r\n    font-size: 12px !important;\r\n    text-decoration: none;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    box-sizing: content-box;\r\n\r\n    font-size: 11px !important;\r\n    border-radius: 0;\r\n    font-weight: bold;\r\n    padding: 0 5px;\r\n\r\n    filter: drop-shadow(2px 4px 4px rgba(0,0,0,.02));\r\n     border-radius: 3px; \r\n    color: var(--color);\r\n    fill: var(--color) ;\r\n    border:1px solid var(--mainColor);\r\n}\r\n.wie-btn>svg,\r\nwie-btn>svg,\r\n.wie-svg{\r\n    width: 14px;\r\n    height: 14px;\r\n    vertical-align: middle;\r\n    margin-bottom: 2px;\r\n    display: inline-block;\r\n\r\n}\r\n.wie-btn:before,\r\nwie-btn:before {\r\n    content: '';\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 50%;\r\n    width: 0;\r\n    background: var(--mainColor);\r\n    opacity: 0;\r\n    z-index: -1;\r\n    transition: all 0.3s;\r\n}\r\n   \r\n.wie-btn:hover,\r\nwie-btn:hover {\r\n    color:var(--mainTextColor);\r\n    fill: var(--mainTextColor);\r\n}\r\n\r\n\r\n.wie-btn:hover:before,\r\nwie-btn:hover:before{\r\n    left: 0;\r\n    width: 100%;\r\n    opacity: 1;\r\n}\r\n\r\n.wie-btn:active:before,\r\nwie-btn:active:before {\r\n    background: var(--mainColor);\r\n    transition: all 0s;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nwie-text-btn {\r\n    font-size: 18px;\r\n    color: #e1e1e1;\r\n    font-family: inherit;\r\n    font-weight: 800;\r\n    cursor: pointer;\r\n    position: relative;\r\n    border: none;\r\n    background: none;\r\n    text-transform: uppercase;\r\n    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    transition-duration: 400ms;\r\n    transition-property: color;\r\n  }\r\n  \r\n  wie-text-btn:focus,\r\n  wie-text-btn:hover {\r\n    color: #fff;\r\n  }\r\n  \r\n  wie-text-btn:focus:after,\r\n  wie-text-btn:hover:after {\r\n    width: 100%;\r\n    left: 0%;\r\n  }\r\n  \r\n  wie-text-btn:after {\r\n    content: \"\";\r\n    pointer-events: none;\r\n    bottom: -2px;\r\n    left: 50%;\r\n    position: absolute;\r\n    width: 0%;\r\n    height: 2px;\r\n    background-color: #fff;\r\n    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    transition-duration: 400ms;\r\n    transition-property: width, left;\r\n  }\r\n\r\n\r\nwie-name .wie-svg{\r\n  fill: var(--mainColor);\r\n}\r\n\r\n\r\n\r\n\r\nwie-radio-group{\r\n    display: flex;\r\n    justify-content: stretch;\r\n    align-items: stretch;\r\n}\r\nwie-theme-group{\r\n    display: flex;\r\n    justify-content: stretch;\r\n    align-items: stretch;\r\n    position: absolute;\r\n    right: 40px;\r\n    top: 8px;\r\n}\r\nwie-theme-item{\r\n    padding: 2px 6px;\r\n    box-sizing: border-box;\r\n    text-align: center;\r\n    margin-bottom: 10px;\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n    border-radius: 4px;\r\n    margin-right: 8px;\r\n    font-size: 12px;\r\n    cursor: pointer;\r\n}\r\n\r\nwie-intro{\r\n    color: var(--mainLightColor);\r\n    font-size: 12px;\r\n}\r\n\r\nwie-radio {\r\n    width: 100%;\r\n}\r\n\r\ninput[type=\"radio\"] {\r\n    content: \" \";\r\n    display: inline-block;\r\n    vertical-align: middle;\r\n    width: 20px;\r\n    height:  20px;\r\n    border-radius: 30%;\r\n    border: solid 1px #1259B7;\r\n    margin-right: .213333rem;\r\n    box-sizing: border-box;\r\n\tposition: relative;\r\n\ttop: -2px;\r\n}\r\ninput[type=\"radio\"]:checked  {\r\n    background-color: #30F546;\r\n    background-clip: content-box;\r\n    padding: 0px;\r\n    box-sizing: border-box;\r\n}\r\n\r\nwie-top-title{\r\n    text-align: center;\r\n    font-size: 15px;\r\n    width: 100%;\r\n    display: block;\r\n    padding: 5px 0px 10px;\r\n}\r\n\r\n\r\n\r\n/**\r\n * Tooltip ([wie-tooltip])\r\n */\r\n[wie-tooltip] {\r\n  position: relative;\r\n}\r\n[wie-tooltip]:not(a, button, input) {\r\n  text-decoration: none;\r\n  cursor: help;\r\n}\r\n[wie-tooltip][data-placement=top]::before, [wie-tooltip][data-placement=top]::after, [wie-tooltip]::before, [wie-tooltip]::after {\r\n  display: block;\r\n  z-index: 99;\r\n  position: absolute;\r\n  bottom: 100%;\r\n  left: 50%;\r\n  padding: 5px 10px;\r\n  overflow: hidden;\r\n  transform: translate(-50%, -10px);\r\n  border-radius: 5px;\r\n  background: var(--mainColor);\r\n  content: attr(wie-tooltip);\r\n  color: var(--mainTextColor);\r\n  font-style: normal;\r\n  font-size: 12px;\r\n  text-decoration: none;\r\n  text-overflow: ellipsis;\r\n  white-space: nowrap;\r\n  opacity: 0;\r\n  pointer-events: none;\r\n  line-height: 1.3;\r\n}\r\n[wie-tooltip][data-placement=top]::after, [wie-tooltip]::after {\r\n  padding: 0;\r\n  transform: translate(-50%, -5px);\r\n  border-top: 6px solid;\r\n  border-right: 6px solid transparent;\r\n  border-left: 6px solid transparent;\r\n  border-radius: 0;\r\n  background-color: transparent;\r\n  content: \"\";\r\n  color: var(--mainColor);\r\n}\r\n[wie-tooltip][data-placement=bottom]::before, [wie-tooltip][data-placement=bottom]::after {\r\n  top: 100%;\r\n  bottom: auto;\r\n  transform: translate(-50%, 5px);\r\n}\r\n[wie-tooltip][data-placement=bottom]:after {\r\n  transform: translate(-50%, -6px);\r\n  border: 6px solid transparent;\r\n  border-bottom: 6px solid;\r\n}\r\n[wie-tooltip][data-placement=left]::before, [wie-tooltip][data-placement=left]::after {\r\n  top: 50%;\r\n  right: 100%;\r\n  bottom: auto;\r\n  left: auto;\r\n  transform: translate(-5px, -50%);\r\n}\r\n[wie-tooltip][data-placement=left]:after {\r\n  transform: translate(6px, -50%);\r\n  border: 6px solid transparent;\r\n  border-left: 6px solid;\r\n}\r\n[wie-tooltip][data-placement=right]::before, [wie-tooltip][data-placement=right]::after {\r\n  top: 50%;\r\n  right: auto;\r\n  bottom: auto;\r\n  left: 100%;\r\n  transform: translate(5px, -50%);\r\n}\r\n[wie-tooltip][data-placement=right]:after {\r\n  transform: translate(-6px, -50%);\r\n  border: 6px solid transparent;\r\n  border-right: 6px solid;\r\n}\r\n[wie-tooltip]:focus::before, [wie-tooltip]:focus::after, [wie-tooltip]:hover::before, [wie-tooltip]:hover::after {\r\n  opacity: 1;\r\n}\r\n@media (hover: hover) and (pointer: fine) {\r\n  [wie-tooltip][data-placement=bottom]:focus::before, [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::before, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::after, [wie-tooltip]:hover::before, [wie-tooltip]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-top;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::after, [wie-tooltip]:hover::after {\r\n    animation-name: tooltip-caret-slide-top;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::before, [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover::before, [wie-tooltip][data-placement=bottom]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-bottom;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover::after {\r\n    animation-name: tooltip-caret-slide-bottom;\r\n  }\r\n  [wie-tooltip][data-placement=left]:focus::before, [wie-tooltip][data-placement=left]:focus::after, [wie-tooltip][data-placement=left]:hover::before, [wie-tooltip][data-placement=left]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-left;\r\n  }\r\n  [wie-tooltip][data-placement=left]:focus::after, [wie-tooltip][data-placement=left]:hover::after {\r\n    animation-name: tooltip-caret-slide-left;\r\n  }\r\n  [wie-tooltip][data-placement=right]:focus::before, [wie-tooltip][data-placement=right]:focus::after, [wie-tooltip][data-placement=right]:hover::before, [wie-tooltip][data-placement=right]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-right;\r\n  }\r\n  [wie-tooltip][data-placement=right]:focus::after, [wie-tooltip][data-placement=right]:hover::after {\r\n    animation-name: tooltip-caret-slide-right;\r\n  }\r\n}\r\n@keyframes tooltip-slide-top {\r\n  from {\r\n    transform: translate(-50%, 15px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, -5px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-top {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-50%, -5px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, 0rem);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-bottom {\r\n  from {\r\n    transform: translate(-50%, -15px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, 5px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-bottom {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-50%, -10px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, -6px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-left {\r\n  from {\r\n    transform: translate(15px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-5px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-left {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(1px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(6px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-right {\r\n  from {\r\n    transform: translate(-15px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(5px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-right {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-1px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-6px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CommonStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/CommonStyle.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/SyncMsin.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/SyncMsin.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncMsin)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../lib/WSE/interfaces/SyncBean */ \"./src/lib/WSE/interfaces/SyncBean.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n//https://db.msin.jp/jp.search/actress?str=%E6%B3%A2%E5%A4%9A%E9%87%8E%E7%B5%90%E8%A1%A3\nclass SyncMsin extends _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.url = false;\n        this.listen = \"actors\";\n        this.actorUrl = `https://db.msin.jp/jp.search/actress?str=%d`;\n        this.outUrl = `https://db.msin.jp/search/actress?str=%d`;\n        this.name = \"Msin\";\n    }\n    syncActors(res, info) {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;\n        return __awaiter(this, void 0, void 0, function* () {\n            // this.log(\"开始同步演员信息\", res, info);\n            if (!info.actors)\n                return;\n            if (((_a = info.actors) === null || _a === void 0 ? void 0 : _a.length) > 4) {\n                //同步演员大图\n                for (let actor of info.actors) {\n                    actor.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance().getActor(actor.name);\n                }\n                return [...info.actors];\n            }\n            const actors = (_b = info.actors) !== null && _b !== void 0 ? _b : [];\n            for (let actor of actors) {\n                let url = (_c = actor.link_m) !== null && _c !== void 0 ? _c : this.actorUrl.replace(\"%d\", actor.name);\n                let res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url);\n                if (!res)\n                    continue;\n                //判断如果没有\n                if (res.querySelector(\".error_string\")) {\n                    //尝试搜索海外地址\n                    const outUrl = this.outUrl.replace(\"%d\", actor.name);\n                    res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(outUrl);\n                    if (!res)\n                        continue;\n                    if (res.querySelector(\".error_string\"))\n                        continue;\n                    url = outUrl;\n                }\n                this.log(\"SyncActorMsin \", url, actor.name, res);\n                actor.link_m = url;\n                /** 修改头像 */\n                actor.name = (_e = (_d = res.querySelector(\".mv_name\")) === null || _d === void 0 ? void 0 : _d.textContent.replace(/(\\S+)/, \"\")) !== null && _e !== void 0 ? _e : actor.name;\n                actor.avatar = res.querySelector(\".act_img\").dataset.src;\n                actor.birthday = (_f = res.querySelector(\".mv_barth\")) === null || _f === void 0 ? void 0 : _f.textContent;\n                const t = (_h = (_g = res.querySelector(\".mv_size\")) === null || _g === void 0 ? void 0 : _g.textContent) !== null && _h !== void 0 ? _h : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                actor.height = (_j = t.match(/T\\s(\\d+)/)) === null || _j === void 0 ? void 0 : _j[1];\n                actor.bust = (_k = t.match(/B\\s(\\d+)/)) === null || _k === void 0 ? void 0 : _k[1];\n                actor.cup = (_l = t.match(/\\(\\s(\\S+)\\s\\)/)) === null || _l === void 0 ? void 0 : _l[1];\n                actor.waist = (_m = t.match(/W\\s(\\d+)/)) === null || _m === void 0 ? void 0 : _m[1];\n                actor.hip = (_o = t.match(/H\\s(\\d+)/)) === null || _o === void 0 ? void 0 : _o[1];\n                actor.blood = (_p = res.querySelector(\".mv_blood\")) === null || _p === void 0 ? void 0 : _p.textContent;\n                actor.hobby = (_q = res.querySelector(\".mv_hobby\")) === null || _q === void 0 ? void 0 : _q.textContent;\n                actor.time = (_t = (_s = (_r = res.querySelector(\".act_ditail\")) === null || _r === void 0 ? void 0 : _r.lastChild) === null || _s === void 0 ? void 0 : _s.textContent) === null || _t === void 0 ? void 0 : _t.replace(\"件\", \"部影片\");\n                actor.sns = (_v = (_u = res.querySelector(\".mv_sns\")) === null || _u === void 0 ? void 0 : _u.querySelector(\"a\")) === null || _v === void 0 ? void 0 : _v.getAttribute(\"href\");\n                actor.tags = Array.from(res.querySelectorAll(\".act_tag>a\")).map((a) => a.textContent);\n                actor.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance().getActor(actor.name);\n                const names = new Set((_w = res.querySelector(\".mv_anotherName\")) === null || _w === void 0 ? void 0 : _w.textContent.split(\"=\"));\n                names.delete(actor.name);\n                actor.alias = Array.from(names).join(\"、\");\n                //缓存演员信息\n                _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.plugin(_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).saveActor(actor);\n            }\n            return [...info.actors];\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/SyncMsin.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Image/Sync3X.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/API/Image/Sync3X.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Sync3X)\n/* harmony export */ });\n/* harmony import */ var _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../lib/WSE/interfaces/SyncBean */ \"./src/lib/WSE/interfaces/SyncBean.ts\");\n/* harmony import */ var _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Tools/QueryTool */ \"./src/Tools/QueryTool.ts\");\n//https://3xplanet.com/fc2-ppv-3237031/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass Sync3X extends _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        //https://3xplanet.com/fc2-ppv-3237031/\n        this.url = \"https://3xplanet.com/{{code}}\";\n        this.name = \"XPlanet\";\n    }\n    code(code) {\n        if (code.startsWith(\"FC2-\")) {\n            code = `fc2-ppv-${code.replace(\"FC2-\", \"\")}`;\n        }\n        return code;\n    }\n    check(res, code) {\n        if (res.querySelector(\".error-404\"))\n            return false;\n        return true;\n    }\n    syncImage(htmlDoc, info) {\n        var _a, _b;\n        return __awaiter(this, void 0, void 0, function* () {\n            // this.find.log(\"SyncUU.syncContent ************\", htmlDoc);\n            if (info.image)\n                return info.image;\n            const list = htmlDoc.querySelectorAll(\".tdb_single_content .td-fix-index a img\");\n            return (_b = (_a = list[1]) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.replace(\"s200\", \"s0\");\n        });\n    }\n    syncReleaseDate(htmlDoc, info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (info.releaseDate)\n                return;\n            let item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'発売日: ')]`);\n            if (!item)\n                item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'販売日')]`);\n            return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(/発売日: |販売日/, \"\").trim();\n        });\n    }\n    syncDuration(htmlDoc, info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (info.duration)\n                return;\n            let item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'収録時間: ')]`);\n            if (!item)\n                item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'再生時間')]`);\n            return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(/収録時間: |再生時間/, \"\").trim();\n        });\n    }\n    syncStudio(htmlDoc, info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (info.studio)\n                return;\n            const item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'Studio: ')]`);\n            return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(\"Studio: \", \"\").trim();\n        });\n    }\n    syncTags(htmlDoc, info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (info.tags)\n                return;\n            //非FC2-不取\n            if (!/^FC2-/.test(info.code))\n                return;\n            const item = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'Tags:')]`);\n            return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(\"Tags: \", \"\").split(\",\").map((x) => x.trim());\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Image/Sync3X.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Info/Sync115.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/API/Info/Sync115.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Sync115)\n/* harmony export */ });\n/* harmony import */ var _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../lib/WSE/interfaces/SyncBean */ \"./src/lib/WSE/interfaces/SyncBean.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nclass Sync115 extends _lib_WSE_interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.url = \"https://webapi.115.com/files/search?offset=0&limit=30&format=json&search_value={{code}}\";\n        this.name = \"Sync115\";\n    }\n    syncIn115(res, info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            const text = (_a = res.querySelector(\"body\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            if (!text)\n                return false;\n            try {\n                const json = JSON.parse(text);\n                for (let item of json.data) {\n                    if (item.n.includes(info.code)) {\n                        info.url115 = `https://115.com/?cid=${item.cid}&offset=0&mode=wangpan`;\n                        return true;\n                    }\n                }\n            }\n            catch (e) {\n                // this.log(\"syncIn115 错误\", e);\n            }\n            return false;\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Info/Sync115.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/PopupImage.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/PopupImage.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n\n\n\nswiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination, swiper__WEBPACK_IMPORTED_MODULE_0__.Thumbs]);\n/**\n * 弹框预览\n */\nclass PopupImage {\n    constructor() {\n        this.name = \"\";\n    }\n    /**\n     * 弹框显示图片\n     * @param img\n     */\n    showImage(img) {\n        var _a;\n        const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(`\r\n            <wie-dialog class=\"popup-black\">\r\n                <div id='wie-model-in' class='swiper-container single-image wie-scroll'>\r\n                     <div class='wie-preview-s-img'>${this.renderImg(img)}</div>\r\n                </div>\r\n            </wie-dialog>\r\n        `);\n        //正则获取图片地址中的文件名\n        this.name = ((_a = img.match(/[^\\/]+$/)) === null || _a === void 0 ? void 0 : _a[0]) || \"\";\n        div.querySelector(\"#wie-model-in\").addEventListener(\"click\", (e) => {\n            e.stopPropagation();\n        });\n        const dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](div.querySelector(\"wie-dialog\"));\n        div.addEventListener(\"click\", () => {\n            dialog.close(() => div.remove());\n        });\n        dialog.open();\n        // `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`\n        this.div = div;\n        return this;\n    }\n    videoControl(volume = PopupImage.Volume, volumechange) {\n        const video = this.div.querySelector(`video`);\n        if (!video)\n            return;\n        //设置音量\n        video.volume = volume;\n        //设置播放时间\n        video.currentTime = PopupImage.TimesCache[this.name] || 0;\n        video.addEventListener(\"timeupdate\", (ev) => {\n            PopupImage.TimesCache[this.name] = video.currentTime;\n        });\n        video.addEventListener(\"volumechange\", (ev) => {\n            PopupImage.Volume = video.volume;\n            volumechange === null || volumechange === void 0 ? void 0 : volumechange(video.volume);\n        });\n    }\n    renderImg(img) {\n        if (img.endsWith(\".webm\"))\n            return `<video autoplay controls><source src=\"${img}\" type=\"video/webm\">`;\n        return `<img src=\"${img}\">`;\n    }\n}\nPopupImage.Volume = 0.5;\nPopupImage.TimesCache = {};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopupImage);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/PopupImage.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/PopupImages.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/PopupImages.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n/* harmony import */ var _lib_decorator_bind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/decorator/bind */ \"./src/lib/decorator/bind.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n\n\nswiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination, swiper__WEBPACK_IMPORTED_MODULE_0__.Thumbs]);\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_5__[\"default\"].add(`\r\n.swiper-pagination{\r\n    --swiper-pagination-bottom: -20px;\r\n    font-weight: 700;\r\n  }\r\n  .swiper-container-min {\r\n    width: 300px;\r\n    text-align: center;\r\n    overflow: hidden;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n    bottom: 0;\r\n    box-sizing: content-box;\r\n    background: #737373;\r\n    overflow: hidden;\r\n    border: 10px solid #737373;\r\n    z-index: 1;\r\n}\r\n.swiper-container-min .swiper-slide{\r\n    width: 100%;\r\n    height: auto;\r\n    display: inline-block;\r\n}\r\n`);\n/**\n * 弹框预览\n */\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _slideChange_decorators;\n    return _a = class PopupImages extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.volume = (__runInitializers(this, _instanceExtraInitializers), 0.5);\n                this.caches = {};\n            }\n            videoControl(volume = 0.5, volumeChange) {\n                this.volume = volume;\n                this.volumeChange = volumeChange;\n                return this;\n            }\n            /**\n             * 弹框显示图片\n             * @param imgs\n             */\n            showImage(imgs, index = 0, minImgs) {\n                const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(`\r\n            <wie-dialog class=\"popup-black\">\r\n                <div id='wie-model-in' class='swiper-container'>\r\n                    <div class='swiper-wrapper' id='wie-preview'>\r\n                        ${imgs.map((img) => `<div class='swiper-slide'>${this.renderImg(img)}</div>`).join(\"\")}\r\n                    </div>\r\n                    <div class=\"swiper-pagination\"></div>\r\n                    <div class=\"swiper-button-prev\"></div>\r\n                    <div class=\"swiper-button-next\"></div>\r\n                </div>\r\n\r\n                <div id='wie-model-in2' class='swiper-container-min'>\r\n                    <div class='swiper-wrapper'>\r\n                        ${(minImgs !== null && minImgs !== void 0 ? minImgs : imgs).map((img) => `<div class='swiper-slide'><div class='wie-preview-img-small'><img src='${img}'></div></div>`).join(\"\")}\r\n                    </div>\r\n                </div>\r\n            </wie-dialog>\r\n        `);\n                // `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`\n                var swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\".swiper-container-min\"), {\n                    spaceBetween: 10,\n                    slidesPerView: \"auto\",\n                    watchSlidesProgress: true,\n                    initialSlide: index,\n                    centeredSlides: true,\n                    direction: \"vertical\",\n                    mousewheel: true,\n                });\n                const container = div.querySelector(\".swiper-container\");\n                container.style.height = window.innerHeight * 0.8 + \"px\";\n                new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](container, {\n                    loop: true,\n                    initialSlide: index,\n                    // autoHeight: true,\n                    thumbs: {\n                        swiper,\n                    },\n                    on: {\n                        slideChange: this.slideChange,\n                    },\n                    pagination: {\n                        el: \".swiper-pagination\",\n                        type: \"fraction\",\n                    },\n                });\n                const dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](div.querySelector(\"wie-dialog\"));\n                div.addEventListener(\"click\", () => {\n                    dialog.close(() => div.remove());\n                });\n                div.querySelector(\"#wie-model-in\").addEventListener(\"click\", (e) => {\n                    e.stopPropagation();\n                });\n                div.querySelector(\"#wie-model-in2\").addEventListener(\"click\", (e) => {\n                    e.stopPropagation();\n                });\n                dialog.open();\n            }\n            slideChange(swiper) {\n                var _a, _b, _c;\n                const view = (_a = swiper.slides) === null || _a === void 0 ? void 0 : _a[swiper.activeIndex];\n                if (this.video)\n                    this.video.pause();\n                const video = view === null || view === void 0 ? void 0 : view.querySelector(\"video\");\n                if (video) {\n                    this.video = video;\n                    const name = ((_c = (_b = video.querySelector(\"source\").src) === null || _b === void 0 ? void 0 : _b.match(/[^\\/]+$/)) === null || _c === void 0 ? void 0 : _c[0]) || \"\";\n                    video.volume = this.volume;\n                    if (!this.caches[name]) {\n                        this.caches[name] = true;\n                        video.addEventListener(\"timeupdate\", (ev) => {\n                            PopupImages.TimesCache[name] = video.currentTime;\n                        });\n                        video.addEventListener(\"volumechange\", (ev) => {\n                            var _a;\n                            this.volume = video.volume;\n                            (_a = this.volumeChange) === null || _a === void 0 ? void 0 : _a.call(this, video.volume);\n                        });\n                    }\n                    video.play();\n                }\n                else {\n                    setTimeout(() => {\n                        this.slideChange(swiper);\n                    }, 100);\n                }\n            }\n            renderImg(img) {\n                if (img.endsWith(\".webm\"))\n                    return `<video controls><source src=\"${img}\" type=\"video/webm\">`;\n                return `<img class='wie-img' src=\"${img}\">`;\n            }\n        },\n        (() => {\n            _slideChange_decorators = [_lib_decorator_bind__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\n            __esDecorate(_a, null, _slideChange_decorators, { kind: \"method\", name: \"slideChange\", static: false, private: false, access: { has: obj => \"slideChange\" in obj, get: obj => obj.slideChange } }, null, _instanceExtraInitializers);\n        })(),\n        _a.TimesCache = {},\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/PopupImages.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/TabControl.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/TabControl.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TabControl)\n/* harmony export */ });\nclass TabControl {\n    constructor(element, options, scroll) {\n        var _a;\n        /** 按钮项 */\n        this.tabs = [];\n        /** 内容项 */\n        this.tabsContent = [];\n        this.curTab = \"\";\n        /** 滚动位置 */\n        this.scrollCache = {};\n        this.options = options;\n        this.scroll = scroll;\n        //\n        const { tabs } = options;\n        this.tabs = tabs.map((tab, index) => {\n            const ele = element.querySelector(`#${options.tabPrefix}${tab}`);\n            ele.addEventListener(\"click\", () => {\n                this.changeTab(tab, `${options.tabPrefix}${tab}`);\n            });\n            return ele;\n        });\n        if (options.contentPrefix)\n            this.tabsContent = tabs.map((tab, index) => {\n                return element.querySelector(`#${options.contentPrefix}${tab}`);\n            });\n        const active = (_a = options.active) !== null && _a !== void 0 ? _a : 0;\n        this.changeTab(tabs[active], `${options.tabPrefix}${tabs[active]}`, false);\n    }\n    /**\n     * 更新tab显示\n     * @param tab\n     * @returns\n     */\n    changeTab(tab, id, need = true) {\n        var _a, _b, _c, _d;\n        if (this.curTab === tab)\n            return;\n        //判断\n        if (this.scroll) {\n            //缓存当前scroll的位置\n            this.scrollCache[this.curTab] = this.scroll.scrollTop;\n            //取出当前缓存\n            this.scroll.scrollTop = (_a = this.scrollCache[tab]) !== null && _a !== void 0 ? _a : 0;\n        }\n        this.curTab = tab;\n        const { tabs, tabsContent } = this;\n        const index = tabs.findIndex((t) => t.id === id);\n        if (index === -1)\n            return;\n        tabs.forEach((t) => t.classList.remove(\"active\"));\n        tabsContent.forEach((t) => t.classList.add(\"wie-hidden-style\"));\n        tabs[index].classList.add(\"active\");\n        (_b = tabsContent[index]) === null || _b === void 0 ? void 0 : _b.classList.remove(\"wie-hidden-style\");\n        if (need)\n            (_d = (_c = this.options).onTabChange) === null || _d === void 0 ? void 0 : _d.call(_c, tab, index);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/TabControl.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/CFSetting.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/CFSetting.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CFSetting)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../UI/InputHostUI */ \"./src/UI/InputHostUI.ts\");\n/* harmony import */ var _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../UI/InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _UI_ListUI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../UI/ListUI */ \"./src/UI/ListUI.ts\");\n/* harmony import */ var _UI_RadioUI__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../UI/RadioUI */ \"./src/UI/RadioUI.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\n\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_7__[\"default\"].add(`\r\n\r\nwie-btn.wie-reset {\r\n    margin: 10px 0 0;\r\n    display: block;\r\n    width: 100px;\r\n    padding: 5px;\r\n    text-align: center;\r\n    border-radius: 5px;\r\n}\r\n\r\n\r\n`);\nclass CFSetting extends _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    template() {\n        const { Hosts } = this.setting;\n        // this.log(\"CFSetting  render\", this.setting);\n        //       ${new TextareaUI, \"Buttons.Censored\", \"快捷跳转配置\", this.getValue(\"Buttons.Censored\", Buttons.Censored)))}\n        return `\r\n            <wie-area>\r\n                <wie-name>基本配置</wie-name>\r\n                ${this.ui(_UI_RadioUI__WEBPACK_IMPORTED_MODULE_5__[\"default\"], \"CodeClass\", \"番号显示样式\", \"v-line\")}\r\n                ${this.ui(_UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"VideoAuto\", \"预览自动播放\", \"hh-line\")}\r\n                ${this.ui(_UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"clickCopy\", \"点击复制番号\", \"hh-line\")}\r\n                ${this.ui(_UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"], \"Match\", \"匹配规则\")}\r\n                ${this.ui(_UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"], \"MaxCodeNumber\", \"最大番号缓存数\")}\r\n                ${this.ui(_UI_TextareaUI__WEBPACK_IMPORTED_MODULE_6__[\"default\"], \"Match\", \"检索配置\")}\r\n                ${this.ui(_UI_ListUI__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"Buttons.Censored\", \"快捷跳转配置\", [\n            { label: \"名称\", key: \"0\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n            { label: \"链接\", key: \"1\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n        ])}\r\n                <br/>\r\n                ${this.ui(_UI_ListUI__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"search\", \"番号快捷跳转配置(配置后,会在番号上显示快捷搜索按钮,点击后会一键跳转到对应的链接__%s__为番号占位符)\", [{ label: \"链接\", key: \"link\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] }])}\r\n               \r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>域名配置</wie-name>\r\n                ${this.ui(_UI_ListUI__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"Host\", \"自定义请求域名\", [\n            { label: \"名称\", key: \"key\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n            { label: \"域名\", key: \"value\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n        ])}\r\n                注: 名称为请求名称,可以在页面左下角查看请求名\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-btn class='wie-reset'>重置默认设置</wie-btn>\r\n                注: 重置默认设置将会清空除(匹配规则)外的所有配置\r\n            </wie-area>\r\n        `;\n    }\n    bindEvent(div) {\n        var _a;\n        (_a = div.querySelector(\".wie-reset\")) === null || _a === void 0 ? void 0 : _a.addEventListener(\"click\", () => {\n            // if (confirm(\"确定重置默认设置?\")) {\n            // this.setting = { ...JSON.parse(JSON.stringify(this.DefaultSetting)), Match: (this.setting as any).Match, Collect: this.setting.Collect };\n            const _a = this.DefaultSetting, { Collect } = _a, other = __rest(_a, [\"Collect\"]);\n            this.update = Object.assign({}, JSON.parse(JSON.stringify(other)));\n            this.refresh();\n            // }\n        });\n    }\n    renderHosts(hosts) {\n        let lines = [];\n        for (const key in hosts) {\n            lines.push(this.ui(_UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"], `Hosts.${key}`, key));\n        }\n        return lines.join(\"\");\n    }\n    // private getValue(key: string, value: any, split: string = \"\\n\"): string {\n    //     console.log(\"getValue\", key, value);\n    //     switch (key) {\n    //         case \"Buttons.Censored\":\n    //             return (value = value\n    //                 .split(\"\\n\")\n    //                 .map((v: string) => v.split(\",\").filter((v: string) => v !== \"\"))\n    //                 .filter((v: string[]) => v.length === 2));\n    //             break;\n    //         default:\n    //             break;\n    //     }\n    //     return value;\n    // }\n    /**\n     *\n     * @param key\n     * @param value\n     */\n    onChange(key, value) {\n        switch (key) {\n            case \"Match\":\n                value = value.split(\",\").filter((v) => v !== \"\");\n                break;\n            default:\n                break;\n        }\n        super.onChange(key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/CFSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/CodeFind.ts":
    /*!******************************************!*\
      !*** ./src/Injects/CodeFind/CodeFind.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Style */ \"./src/Injects/CodeFind/Style.ts\");\n/* harmony import */ var _SwiperStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SwiperStyle */ \"./src/Injects/CodeFind/SwiperStyle.ts\");\n/* harmony import */ var _CFSetting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CFSetting */ \"./src/Injects/CodeFind/CFSetting.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Tools/ToolValue */ \"./src/Tools/ToolValue.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Plugin/WPInject/WPMenuInject */ \"./src/Plugin/WPInject/WPMenuInject.ts\");\n/* harmony import */ var _Code_Code__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Code/Code */ \"./src/Injects/CodeFind/Code/Code.ts\");\n/* harmony import */ var _Code_UnCode__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Code/UnCode */ \"./src/Injects/CodeFind/Code/UnCode.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_13__[\"default\"].add(_Style__WEBPACK_IMPORTED_MODULE_1__[\"default\"] +\n    _SwiperStyle__WEBPACK_IMPORTED_MODULE_2__[\"default\"] +\n    `\r\n\r\nw-search{\r\n    width: 20px;\r\n    text-align: center;\r\n    display: inline-block;\r\n}\r\n`);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _findCode_decorators;\n    let _search_decorators;\n    let _searchCancel_decorators;\n    return _a = class CodeFind extends _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_10__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 绑定设置 */\n                this.set = (__runInitializers(this, _instanceExtraInitializers), new _CFSetting__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.Name, this.CName));\n                this.Match = [/\\/2048\\//];\n                // @bindPlugin(WPPopup)\n                // private accessor wpPopup: WPPopup;\n                /** 搜索信息 */\n                this.searchInfo = {\n                    /** 搜索次数 */\n                    search: 0,\n                    /** 找到次数 */\n                    view: 0,\n                };\n            }\n            start() {\n                super.start();\n                //获取搜索信息\n                this.searchInfo = this.getValue(\"CodeFind_SearchInfo\", { search: 0, view: 0 });\n                //监听值变化\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_6__[\"default\"].GM_addValueChangeListener(\"CodeFind_SearchInfo\", (name, old, newV) => {\n                    this.searchInfo = newV;\n                });\n                //添加样式\n                this.visit = new _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_7__[\"default\"](\"CodeFind_Visit\", {});\n            }\n            onStart() {\n                //添加wie-code动画时长样式\n                // this.addStyle(`wie-code{transition-duration:${this.engine.setting.Enter}ms}`);\n            }\n            onSetting(setting) {\n                //兼容设置\n                if (typeof setting.Buttons.Censored === \"string\") {\n                    setting.Buttons.Censored = setting.Buttons.Censored\n                        .split(\"\\n\")\n                        .map((v) => v.split(\",\").filter((v) => v !== \"\"))\n                        .filter((v) => v.length === 2);\n                }\n                return setting;\n            }\n            getMatch() {\n                return this.setting.Match.map((match) => new RegExp(match));\n            }\n            // onStart() {\n            //     //注入设置界面\n            //     WIESetting.addSetting(new CFSetting(this as any), \"番号查找\");\n            // }\n            checkLast(intent, last) {\n                //如果是同一个code, 不更新\n                if (intent.code === last.code)\n                    return false;\n                return true;\n            }\n            // public updateSetting(setting?: { [key: string]: any }) {\n            //     if (setting) Tool.merge(this.setting, setting);\n            //     this.log(\"CodeFind updateSetting\", setting, this.setting);\n            //     this.setValue(Setting.Setting_Key, this.setting);\n            // }\n            onLoaded() {\n                //提前开始获取\n                _Tools_GFriends__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Instance();\n                //初始化Code实例\n                this.codes = CodeFind.Code.map((code) => new code(this));\n                //监听dom变化\n                this.createObserver();\n                //查找code\n                this.findCode();\n            }\n            // 动态添加的元素, 检查所有父元素的class是否是排除项\n            checkParentClass(startDom) {\n                var _a;\n                //兼容SuperAV 下替换的元素\n                if (((_a = startDom.tagName) === null || _a === void 0 ? void 0 : _a.startsWith(\"WIE-\")) || startDom.tagName === \"IFRAME\") {\n                    // this.log(\"checkParentClass: 父元素存在相关class, 已排除: \", startDom.className);\n                    return true;\n                }\n                if (startDom.parentElement && \"body\" !== startDom.parentElement.nodeName) {\n                    return this.checkParentClass(startDom.parentElement);\n                }\n                return false;\n            }\n            /**\n             * 创建监听\n             */\n            createObserver() {\n                this.startObserver((mutations) => {\n                    mutations.forEach((mutation) => {\n                        if (mutation.target.nodeType == 1 && mutation.target.querySelector(\"wie-code\"))\n                            return;\n                        if (this.checkParentClass(mutation.target))\n                            return;\n                        clearTimeout(this.timeout);\n                        this.timeout = setTimeout(() => {\n                            this.findCode();\n                        }, 1000);\n                    });\n                });\n            }\n            updateSearchInfo(key = \"search\") {\n                this.searchInfo[key]++;\n                this.setValue(\"CodeFind_SearchInfo\", this.searchInfo);\n            }\n            /**\n             * 复制Code\n             * @param e\n             * @returns\n             */\n            saveID(code, e) {\n                e.preventDefault();\n                //手机端不支持复制\n                if (_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.isMobile)\n                    return;\n                this.copy(code);\n                return false;\n            }\n            /**\n             * 查找code\n             */\n            findCode() {\n                //暂停观察\n                this.disconnect();\n                //Code查询\n                this.codes.forEach((code) => code.findCode());\n                //启动观察\n                this.createObserver();\n            }\n            get delayTime() {\n                return this.engine.setting.Enter;\n            }\n            search(code, div) {\n                //检测是否跟当前页面显示的一致\n                if (this.popup.last instanceof _pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && this.popup.last.intent.code === \"code\") {\n                    //检测弹框是否关闭\n                    if (this.popup.show())\n                        return;\n                }\n                if (div) {\n                    this.setVisit(code);\n                    div.classList.add(\"visited\");\n                }\n                // this.log(\"search startPage\", code);\n                this.startPage(_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { code });\n            }\n            // /**\n            //  * code是否正在显示\n            //  */\n            // private isCodeShowing(code: string) {\n            //     //如果最后一个是Code,\n            //     if ((this.stack[this.stack.length - 1]?.intent as ICodeInfo)?.code === code) {\n            //         //检测弹框是否关闭\n            //         return WiePopup.Instance.isShow();\n            //     }\n            //     return false;\n            // }\n            searchCancel(div) {\n                // this.log(\"searchCancel\", div);\n                clearInterval(this.interval);\n            }\n            /**\n             * 演员cup排行榜 brush 排行榜\n             * @param actor\n             */\n            saveActor(actor) {\n                this.sortActor(actor, \"bust\");\n                this.sortActor(actor, \"hip\");\n            }\n            sortActor(actor, type) {\n                //如果信息不存在,则不进行排序\n                if (!actor[type])\n                    return;\n                const value = Number(actor[type].replace(/[^0-9]/gi, \"\"));\n                if (isNaN(value))\n                    return;\n                const { Rank } = this.setting;\n                const { actors } = Rank;\n                const list = Rank[type];\n                //检测是否比最后一个大 或者 长度小于10\n                list.push(actor.name);\n                let need = false;\n                if (!actors[actor.name])\n                    need = true;\n                actors[actor.name] = actor;\n                Rank[type] = Array.from(new Set(list))\n                    .sort((a, b) => (Number(actors[a][type]) < Number(actors[b][type]) ? 1 : -1))\n                    .slice(0, this.setting.Rank.length);\n                //从actors移除不存在的演员\n                if (need && !Rank[type].includes(actor.name))\n                    delete actors[actor.name];\n                const set = new Set(Rank.bust.concat(Rank.hip));\n                Object.keys(actors).forEach((key) => {\n                    if (!set.has(key))\n                        delete actors[key];\n                });\n                //更新设置\n                // this.log(\"saveActor\", Rank,actor);\n                this.updateSetting({ Rank });\n            }\n            setVisit(code) {\n                var _a;\n                const visit = this.visit.value;\n                //如果存在,则不更新\n                if (visit[code])\n                    return;\n                visit[code] = new Date().valueOf();\n                //如果数量超过100, 则删除最早的\n                const arr = Object.keys(visit);\n                const max = (_a = this.setting.MaxCodeNumber) !== null && _a !== void 0 ? _a : CodeFind.MAX_CODE_NUMBER;\n                arr.splice(0, arr.length - max).forEach((key) => delete visit[key]);\n                this.visit.value = visit;\n            }\n            isVisit(code) {\n                const visit = this.visit.value;\n                if (!visit[code])\n                    return false;\n                return true;\n            }\n            getVisit(code) {\n                const visit = this.visit.value;\n                if (!visit[code])\n                    return 0;\n                return visit[code];\n            }\n            /**\n             * 格式化\n             * @param code\n             * @param portion\n             * @param parent\n             */\n            codeMatch(code, portion, parent = null) {\n                var _a;\n                // const text = match[0];\n                if (portion.node.parentNode.tagName === \"WIE-CODE\")\n                    return;\n                //检测是否为弹框中内容\n                if (this.checkParentClass(portion.node.parentNode))\n                    return;\n                const fontSize = window.getComputedStyle(portion.node.parentNode, null).getPropertyValue(\"font-size\").replace(\"px\", \"\");\n                const isCollect = !!((_a = this.setting.Collect.codes) === null || _a === void 0 ? void 0 : _a[code]);\n                const SVGCode = (isCollect ? _SVGConst__WEBPACK_IMPORTED_MODULE_9__[\"default\"].CollectWhite : _SVGConst__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Code).replace(/128/g, fontSize);\n                this.updateSearchInfo();\n                const { clickCopy = true, search = [], CodeClass = \"Block\" } = this.setting;\n                // this.log(\"search---\", search);\n                let searchIcon = search.length > 0 ? `<w-search wie-tooltip='点击一键搜索'>${_SVGConst__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Search.replace(/128/g, fontSize)}</w-search>` : \"\";\n                const div = this.createDiv(`<w-code>${SVGCode} ${code}</w-code>${searchIcon}`, {\n                    tag: \"wie-code\",\n                    events: {\n                        mouseenter: (e) => {\n                            //启动计时器\n                            // this.startTimer(e.target as HTMLElement);\n                            this.search(code, e.target);\n                        },\n                        mouseleave: (e) => this.searchCancel(e.target),\n                        click: clickCopy ? this.saveID.bind(this, code) : undefined,\n                    },\n                    className: this.isVisit(code) ? CodeClass + \" visited\" : CodeClass,\n                    // tooltip: `正在打开中...${this.engine.setting.Enter}ms`,\n                    parent,\n                });\n                // div.addEventListener(\"click\", (e) => {\n                //     e.stopPropagation();\n                //     this.startPage(PageCode, { code });\n                // });\n                const searchItem = div.querySelector(\"w-search\");\n                if (!searchItem)\n                    return div;\n                searchItem === null || searchItem === void 0 ? void 0 : searchItem.addEventListener(\"click\", (e) => {\n                    e.stopPropagation();\n                    // this.startPage(PageCode, { code });\n                    this.openCode(code);\n                });\n                searchItem === null || searchItem === void 0 ? void 0 : searchItem.addEventListener(\"mouseenter\", (e) => {\n                    e.stopPropagation();\n                    e.preventDefault();\n                });\n                return div;\n            }\n            openCode(code) {\n                // this.startPage(PageCode, { code });\n                const { search = [] } = this.setting;\n                for (const { link } of search) {\n                    _Tools_GM__WEBPACK_IMPORTED_MODULE_6__[\"default\"].GM_openInTab(link.replace(\"%s\", code));\n                }\n            }\n            selectCode(ele) {\n                //选中文本\n                const range = document.createRange();\n                range.selectNodeContents(ele);\n                const sel = window.getSelection();\n                sel === null || sel === void 0 ? void 0 : sel.removeAllRanges();\n                sel === null || sel === void 0 ? void 0 : sel.addRange(range);\n            }\n        },\n        (() => {\n            _findCode_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_5__[\"default\"].DelayTime(100)];\n            _search_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Delay];\n            _searchCancel_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_5__[\"default\"].DelayCancel(\"search\")];\n            __esDecorate(_a, null, _findCode_decorators, { kind: \"method\", name: \"findCode\", static: false, private: false, access: { has: obj => \"findCode\" in obj, get: obj => obj.findCode } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _search_decorators, { kind: \"method\", name: \"search\", static: false, private: false, access: { has: obj => \"search\" in obj, get: obj => obj.search } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _searchCancel_decorators, { kind: \"method\", name: \"searchCancel\", static: false, private: false, access: { has: obj => \"searchCancel\" in obj, get: obj => obj.searchCancel } }, null, _instanceExtraInitializers);\n        })(),\n        _a.Name = \"CodeFind\",\n        _a.CName = \"番号查找\",\n        _a.Code = [_Code_Code__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _Code_UnCode__WEBPACK_IMPORTED_MODULE_12__[\"default\"]],\n        _a.MAX_CODE_NUMBER = 1000,\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/CodeFind.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/Code.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/Code/Code.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Code)\n/* harmony export */ });\n/* harmony import */ var _CodeBase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeBase */ \"./src/Injects/CodeFind/Code/CodeBase.ts\");\n\nclass Code extends _CodeBase__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        // 排除在此的番号, 与下面的 Exclude 不同的是: 这个还会判断后面跟的数字, 能够精确排除。\n        //                     | 排除非 fx-0xx          | 数字部分全是0     |\n        this.oRegExp_Exclude_ID = /fx-?([^0]\\d{2}|\\d{4})|[a-zA-Z]+-?0{2,6}$|pg-13|sha-256|crc-32|ea211|fs[\\s-]?140|trc-20|erc-20|jp-18|rs[\\s-]?(232|422|485)/i;\n        // 排除在此的关键词。 个别与番号同名的也被排除, 例如 Top-10 这种\n        this.oRegExp_Exclude_en = /^(?:about|aes|again|all|ak|akko|aptx|au|ax|avhd|avx|bej|chrome|bd|build|(?:fc|p)?[blp]ga|by|cc|cctv|ckg|class|cny|covid|cpu|code|debian|df|ds|dx|er|ecma|eia|emui|eof|ep|error|fc|file|flyme|fps|for|fork|fuck|fx|gbx|get|gnz|gp|gt|gts|gtx|guest|hao|her|https?|hp|IEEE|ilc|ilce|imx|index|intel|ipad|is|ISBN|iso|issue|issues|it|jav|javdb|jukujo|joy|jsr|Kirin|lancet|linux|lolrng|lpl|lumia|lg|macos|md|mh|miui|mipc|mvp|ms|nature|nc|next|note|number|ok|only|os|osx|ppv|pmw|png|qbz|qsz|raid|rfc|rmb|rng|row|rtx|rush|rx|sale|scp|sdm|shp|sql|sn|snh|Socket|ssd|status|su|tcp|the|to|top|than|thread|ts|uhd|usa|usc|utf|utc|via|vkffsc|vol|win|with|width|wikis|xfx)$/i;\n        // 在没有横杠的情况下, 会排除在此的关键词 例: 识别 tv-001  但是会排除 tv001\n        this.oRegExp_Special_en = /^(?:ace|akb|am|anime|at|be|best|bt|bl|crc|exynos|dp|gb|girl|jd|has|hc|hours|in|mk|mini|mhz|mx|no|open|of|over|part|pd|pdd|pt|sb|sex|tv|tb|ver|zd)$/i;\n        // 在没有横杠的情况下, 会排除在此的数字\n        this.oRegExp_Special_num = /^(?:007|101|110|115|123|128|256|360|365|370|404|512|520|911|996|\\d{1,2}00|19[789]\\d|20[012]\\d|720|1080|1024|2048|[056789]\\d{3}|(\\d)\\1{2,3})$/;\n        // 可能是素人、无码番号, 如果在javbus获取不到信息, 会继续从javdb中查找. 2022-10-23 v0.19.3注: 可能会被弃用\n        this.oRegExp_SuRen = /ANAN|ARA|BEAF|BKKJ|BSKC|BSKJ|CCDV|CUTE|DAVC|DCV|DDH|ECSN|ENE|ERKR|EROFC|FKNP|FLC|FTHT|GANA|GESB|GRQR|GRMO|GRMR|HABJ|HHL|HMDN|HMDNC|HMT|HOMEV|IMGN|IND|INSF|INSTC|JAC|JNT|JPNXXX|KING|KNB|LBJ|LOG|LUXU|MAAN|MCHT|MFC|MIUM|MKGF|MONA|NAEN|NMCH|NTK|NTR|OPCYN|OREC|ORECO|PAK|POK|pow|PPZ|PRGO|REIW|RKD|SCOH|SGK|SHE|SHINKI|SIRO|SIROR|SIMM|SQB|SROM|SSDV|SSK|STCV|STH|SUKE|TEN|TKOL|TKPR|WITH|\\d{6}|(?:k|n)\\d{4}/i;\n        /** 匹配的正则 */\n        this.CodeReg = /(?<!\\w|\\/|www\\.|=|col-|\\d-|>|Jukujo-)(?!heyzo|SHINKI|JPNXXX|carib)[a-zA-Z]{2,6}-\\d{2,5}(?:-c|_c|-4k)?(?!\\d|[A-Za-z]{2,}|-\\d|\\.com|\\.\\d)|(?<!\\w|\\/|\\\\|\\.|【|-|#|@|=|www\\.)(?!heyzo|SHINKI|JPNXXX|carib|and)[a-zA-Z]{2,6}\\s?\\d{3,4}(?:-c|_c)?(?!\\w|-|\\.|\\/|×|%|%|@|\\s?天| 发表| 發表|歳| 歲|分|系列| Min| day| time|cm| ppi|\\.com)|(?<!\\w)(?:PARATHD|3DSVR|STARSBD)[-\\s]?\\d{3,4}(?!\\w)|(?<!\\w)(?:HIMEMIX|CASMANI)[-\\s]?\\d{3}(?!\\w)|(?<!\\w)(?:k|n)[01]\\d{3}(?!\\w|-)|(?<!\\w|\\d-|\\/)[01]\\d{5}[-_](?:1)?\\d{2,3}(?!\\w|-\\d)|(?<!\\w)(?:carib|1pondo)[-_]\\d{6}[-_]\\d{2,3}(?!\\w)|(?<!\\w|\\d-)\\d{6}[-_]\\d{2,3}(?:-1pon|-carib|-paco)(?!\\w)|(?<!\\w|\\d-)\\d{6}_(?:1)?\\d{3}_0[12](?!\\w|-\\d)|HEYZO[_-\\s]?(?:hd_)?\\d{4}/gi;\n        // /**\n        //  * 格式化Code\n        //  * @param text\n        //  * @returns\n        //  */\n        // protected formatCode(text: string) {\n        //     text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n        //     if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n        //         var oindex = text.search(/\\d/);\n        //         if (oindex > 0) {\n        //             text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n        //         }\n        //     }\n        //     // 判断3位数字写成2位的\n        //     // if (text.match(/-\\d{2}$/) && localInfo[avID] && localInfo[avID].noInfo) {\n        //     //     let avID2 = text.replace(\"-\", \"-0\");\n        //     //     if (localInfo[avID2]) {\n        //     //         avID = avID2;\n        //     //     }\n        //     // }\n        //     return text.toUpperCase();\n        // }\n    }\n    /**\n     * 特殊番号过滤检测\n     * @param text\n     * @returns\n     */\n    IDcheck(text) {\n        const oOnlyText = text.replace(/[^a-zA-Z]/gi, \"\"); // 番号中的英文\n        var oOnlyNum = text.replace(/[^0-9]/gi, \"\"); // 番号中的数字\n        // if(debug) console.table([{name:\"完整番号\",value:text},{name:\"英文\",value:oOnlyText},{name:\"数字\",value:oOnlyNum},{name:\"是否有横杠\",value:oNoHyphen},{name:\"是否排除\",value:oExclude},{name:\"占位\",value:\"占位\"}]);\n        // 排除 特别的番号\n        if (text.match(this.oRegExp_Exclude_ID)) {\n            // this.log(`特别的番号,略过:  ${text} `);\n            return true;\n        }\n        // 包含关键词的情况下\n        if (oOnlyText.match(this.oRegExp_Exclude_en)) {\n            // this.log(`存在排除词 ${oOnlyText} ,略过 ${text} `);\n            return true;\n        }\n        if (text.match(/^[a-z|A-Z]{2,8}\\s?\\d{2,5}$/i)) {\n            // 没有横杠的情况下, 含有需要排除的数字\n            if (oOnlyNum.match(this.oRegExp_Special_num)) {\n                // this.log(`无横杠,且存在需要排除的数字 ${oOnlyNum},略过 ${text} `);\n                return true;\n            }\n            // 没有横杠的情况下, 并且含有关键词\n            if (oOnlyText.match(this.oRegExp_Special_en)) {\n                // this.log(`无横杠,且有关键词 ${oOnlyText},略过 ${text} `);\n                return true;\n            }\n        }\n        return false;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/Code.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/CodeBase.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/Code/CodeBase.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CodeBase)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/findAndReplaceDOMText */ \"./src/lib/findAndReplaceDOMText.js\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass CodeBase extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(find) {\n        super();\n        /** 匹配的正则 */\n        this.CodeReg = /(?<!\\w|\\/|www\\.|=|col-|\\d-|>|Jukujo-)(?!heyzo|SHINKI|JPNXXX|carib)[a-zA-Z]{2,6}-\\d{2,5}(?:-c|_c|-4k)?(?!\\d|[A-Za-z]{2,}|-\\d|\\.com|\\.\\d)|(?<!\\w|\\/|\\\\|\\.|【|-|#|@|=|www\\.)(?!heyzo|SHINKI|JPNXXX|carib|and)[a-zA-Z]{2,6}\\s?\\d{3,4}(?:-c|_c)?(?!\\w|-|\\.|\\/|×|%|%|@|\\s?天| 发表| 發表|歳| 歲|分|系列| Min| day| time|cm| ppi|\\.com)|(?<!\\w)(?:PARATHD|3DSVR|STARSBD)[-\\s]?\\d{3,4}(?!\\w)|(?<!\\w)(?:HIMEMIX|CASMANI)[-\\s]?\\d{3}(?!\\w)|(?<!\\w)(?:k|n)[01]\\d{3}(?!\\w|-)|(?<!\\w|\\d-|\\/)[01]\\d{5}[-_](?:1)?\\d{2,3}(?!\\w|-\\d)|(?<!\\w)(?:carib|1pondo)[-_]\\d{6}[-_]\\d{2,3}(?!\\w)|(?<!\\w|\\d-)\\d{6}[-_]\\d{2,3}(?:-1pon|-carib|-paco)(?!\\w)|(?<!\\w|\\d-)\\d{6}_(?:1)?\\d{3}_0[12](?!\\w|-\\d)|HEYZO[_-\\s]?(?:hd_)?\\d{4}/gi;\n        this.find = find;\n    }\n    /**\n     * 匹配\n     * @param portion\n     * @param text 匹配信息\n     */\n    match(portion, text) {\n        // 当番号介于两个HTML元素之中, 只作用最后一个\n        // this.log(`搜索到`, portion, text);\n        if (!portion.isEnd)\n            return;\n        // this.log(`搜索到番号: ${text}; 原字符串:${text}`);\n        // 检查番号, 如果存在特殊英文或者数字,则退出\n        if (this.IDcheck(text))\n            return;\n        //搜索次数加一\n        this.find.searchInfo.search++;\n        const code = this.formatCode(text);\n        // this.find.log(`搜索到番号: ${code}; 原字符串:${text}`);\n        return code;\n    }\n    /**\n     * 格式化Code\n     * @param text\n     * @returns\n     */\n    formatCode(text) {\n        text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n        if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n            var oindex = text.search(/\\d/);\n            if (oindex > 0) {\n                text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n            }\n        }\n        return text.toUpperCase();\n    }\n    /**\n     * 查找code\n     */\n    findCode() {\n        _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__(document.body, {\n            find: this.CodeReg,\n            preset: \"prose\",\n            forceContext: _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__.NON_INLINE_PROSE,\n            replace: (portion, match) => {\n                const text = match[0];\n                //匹配Code\n                const code = this.match(portion, text);\n                if (!code)\n                    return \"\";\n                //匹配到Code\n                return this.find.codeMatch(code, portion) || text;\n            },\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/CodeBase.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/UnCode.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/Code/UnCode.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UnCode)\n/* harmony export */ });\n/* harmony import */ var _CodeBase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeBase */ \"./src/Injects/CodeFind/Code/CodeBase.ts\");\n\nclass UnCode extends _CodeBase__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        // 一些素人、无码番号: 从javdb获取信息\n        //    ;--------- mgstage 字母 + 数字 + 字母 -----------------------|--------- FC2 ----------------|     HEYDOUGA                |      T28       | TMA 5位,6位,3位(没匹配)   |         1000girl   数字 + 字母             |MUGEN Entertainmen: MKD-S  MKBD-S |    素人 | 北池袋盗撮倶楽部            | japornXXX: JPNXXX       | xxx-av                   |    crazyasia               | PEWORLD                   |   10Musume  6位数字_01          |熟女俱乐部\n        this.CodeReg = /(?<!\\w|-|\\/)\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}(?!\\w|-|.torrent)|(?<!\\w|\\/)FC2[^\\d]{0,5}\\d{6,7}|HEYDOUGA[_-\\s]?\\d{4}-\\d{3,5}|(?<!\\w)T28-\\d{3}|(?<!\\w)T-2\\d{4,5}(?!\\w|-)|(?<!\\w|-|\\/)[01]\\d{5}-[a-zA-Z]{2,7}(?!\\w|-)|(?<!\\w)MK(?:B)?D-S\\d{2,3}(?!\\w|-)|(?:SHINKI|KITAIKE)[-\\s]?\\d{3}(?!\\w|-)|JPNXXX[-\\s]?\\d{5}(?!\\w|-)|xxx-av[-\\s]\\d{4,5}(?!\\w|-)|(?<!\\w)crazyasia\\d{5}(?!\\w|-)|(?<!\\w)PEWORLD\\d{5}(?!\\w|-)|(?<!\\w)[01]\\d{5}[-_]?_01(?=-10mu)?|Jukujo-Club-\\d{3}/gi;\n    }\n    // 检查番号是否需要排除 无码\n    IDcheck(text) {\n        if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/i)) {\n            if (text.replace(/[^a-zA-Z]/gi, \"\").match(/^cm$/i)) {\n                return true;\n            }\n        }\n        return false;\n    }\n    formatCode(text) {\n        text = text.replace(/\\s+|carib[-_]|1pondo[-_]|-1pon|-paco|-carib|hd_/gi, \"\");\n        // 不再分 \"FC2PPV-\" 和 \"FC2-\" 统一为 \"FC2-\"\n        if (text.match(/fc2/i)) {\n            var oindex = text.search(/(?<!fc)\\d/i);\n            // if(text.match(/ppv/i)){\n            //     text = \"FC2PPV-\" + text.slice(oindex)\n            // }else{\n            text = \"FC2-\" + text.slice(oindex);\n            // }\n            return text.toUpperCase();\n        }\n        // heyzo\n        if (text.match(/heyzo/i)) {\n            var oindex = text.search(/\\d/i);\n            return \"HEYZO-\" + text.slice(oindex);\n        }\n        //  东京热 n1234  返回小写\n        if (text.match(/(?:k|n)\\d{4}/i)) {\n            return text.toLowerCase();\n        }\n        // 返回大写  MKD-S\\d{2,3}(?!\\w|-)|(?:SHINKI|KITAIKE)[-\\s]?\\d{3}(?!\\w|-)|JPNXXX[-\\s]?\\d{5}(?!\\w|-)|xxx-av[-\\s]\\d{4,5}(?!\\w|-)|(?<!\\w)crazyasia\\d{5}(?!\\w|-)|(?<!\\w)PEWORLD\\d{5}(?!\\w|-)|(?<!\\w)MKBD-S\\d{2,3}|(?<!\\w)\\d{6}[-_]?_01(?=-10mu)/gi;\n        if (text.match(/t28|t-|MKD-S|SHINKI|KITAIKE|JPNXXX|xxx-av|crazyasia|PEWORLD|MKBD-S/i)) {\n            return text.toUpperCase();\n        }\n        // heydouga\n        if (text.match(/HEYDOUGA/i)) {\n            return \"heydouga-\" + text.slice(text.search(/\\d/i));\n        }\n        // 123abc-456 数字字母-数字\n        if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/)) {\n            text = text.slice(3);\n            text = super.formatCode(text);\n        }\n        return text;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/UnCode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/ICodeInfo.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/ICodeInfo.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   QTType: () => (/* binding */ QTType)\n/* harmony export */ });\n// import Tool from \"../../../Tools/Tool\";\n// import AVPreview from \"../API/Preview/AVPreview\";\n// import Sync from \"../API/Sync\";\n// import CodeFind from \"../CodeFind\";\n// import Setting from \"../Setting\";\nvar QTType;\n(function (QTType) {\n    /** 不存在 */\n    QTType[\"NULL\"] = \"null\";\n    /** 下载中 */\n    QTType[\"DOWNLOADING\"] = \"downloading\";\n    /** 已下载 */\n    QTType[\"DOWNLOADED\"] = \"downloaded\";\n})(QTType || (QTType = {}));\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/ICodeInfo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/SVGConst.ts":
    /*!******************************************!*\
      !*** ./src/Injects/CodeFind/SVGConst.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass SVGConst {\n}\nSVGConst.Search = `<svg t=\"1697541418893\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5891\" width=\"128\" height=\"128\"><path d=\"M907.4 906.4c-29 29-76 29-105 0L657.7 761.7c-57.6 38.4-126.8 60.9-201.3 60.9-200.5 0-363.1-162.6-363.1-363.2S255.9 96.2 456.5 96.2s363.2 162.6 363.2 363.2c0 72.4-21.2 139.9-57.7 196.5l145.5 145.5c28.9 29 28.9 76-0.1 105zM456.4 231C330.3 231 228 333.3 228 459.4c0 126.1 102.3 228.4 228.4 228.4s228.4-102.3 228.4-228.4C684.9 333.3 582.6 231 456.4 231z m118.1 379.4c-1.4 2.1-3.5 3.6-6.2 4.2-5.5 1.3-11.1-2.2-12.3-7.7-1.2-5.2 1.7-10.3 6.7-12 59-46.5 80.8-126.4 53.6-196.1-0.7-1.4-1-2.9-1-4.5 0-5.7 4.6-10.3 10.3-10.3 4.2 0 7.8 2.5 9.4 6.1h0.1c30.7 78.3 6.1 168.4-60.6 220.3z\" fill=\"\" p-id=\"5892\"></path></svg>`;\nSVGConst.Download = `<svg t=\"1697543079453\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8324\" width=\"128\" height=\"128\"><path d=\"M892.5 879.2h-761c-18.4 0-33.3-14.9-33.3-33.3V679.5c0-18.4 14.9-33.3 33.3-33.3h30c18.4 0 33.3 14.9 33.3 33.3 0 4.5-0.9 8.9-2.6 12.8l-13 64.8c0 18.4 14.9 33.3 33.3 33.3h599c18.4 0 33.3-14.9 33.3-33.3l-13-64.8c-1.7-3.9-2.6-8.3-2.6-12.8 0-18.4 14.9-33.3 33.3-33.3h30c18.4 0 33.3 14.9 33.3 33.3v166.4c0 18.4-14.9 33.3-33.3 33.3z m-66.6-500.3v0.6c2.6 1.1 4.4 3.7 4.4 6.7s-1.8 5.6-4.4 6.7v0.4L520.7 706.1h-0.4c-1.1 2.6-3.7 4.4-6.7 4.4s-5.6-1.8-6.7-4.4h-0.4L201.4 393.2v-0.4c-2.6-1.1-4.4-3.7-4.4-6.7s1.8-5.6 4.4-6.7v-0.6h-13.9 207v-51c0-18.4 14.9-33.3 33.3-33.3h168.6c18.4 0 33.3 14.9 33.3 33.3v51H840h-14.1z m-224-115.4H422.1c-15.3 0-27.7-12.4-27.7-27.7s12.4-27.7 27.7-27.7h179.7c15.3 0 27.7 12.4 27.7 27.7s-12.3 27.7-27.6 27.7z m11-84.3H411.1c-9.2 0-16.6-7.5-16.6-16.6 0-9.2 7.5-16.6 16.6-16.6H613c9.2 0 16.6 7.5 16.6 16.6 0 9.2-7.5 16.6-16.7 16.6z\" fill=\"\" p-id=\"8325\"></path></svg>`;\nSVGConst.Info = `<svg t=\"1697543415285\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9335\" width=\"128\" height=\"128\"><path d=\"M512 64C264.576 64 64 264.576 64 512c0 247.424 200.576 448 448 448s448-200.576 448-448C960 264.576 759.424 64 512 64zM512 848c-185.536 0-336-150.464-336-336S326.464 176 512 176 848 326.464 848 512 697.536 848 512 848zM512 400c-30.912 0-56 25.088-56 56l0 224C456 710.912 481.088 736 512 736s56-25.088 56-56l0-224C568 425.088 542.912 400 512 400zM512 232c-30.912 0-56 25.088-56 56S481.088 344 512 344 568 318.912 568 288 542.912 232 512 232z\" p-id=\"9336\"></path></svg>`;\nSVGConst.Code = `<svg t=\"1697544621579\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"24108\" width=\"128\" height=\"128\"><path d=\"M1012.801094 959.306318L791.422713 737.927937c-1.699834-1.699834-1.999805-4.499561-0.499952-6.499366 37.996289-50.395079 60.594083-113.188946 60.594083-181.182306 0-166.383752-134.886827-301.270579-301.270579-301.270579-166.383752 0.09999-301.270579 134.886827-301.270579 301.370569 0 166.383752 134.886827 301.270579 301.270579 301.270579 67.99336 0 130.787228-22.597793 181.182306-60.594082 1.999805-1.499854 4.699541-1.299873 6.499366 0.499951L959.306318 1012.901084c14.798555 14.798555 38.696221 14.798555 53.494776 0 14.798555-14.798555 14.798555-38.696221 0-53.594766zM638.037692 758.225954C610.240406 769.924812 580.743287 775.924226 550.246265 775.924226s-59.994141-5.999414-87.791427-17.698272c-26.897373-11.398887-50.99502-27.597305-71.692998-48.395273-20.697979-20.697979-36.996387-44.895616-48.395274-71.692999-11.698858-27.797285-17.698272-57.294405-17.698272-87.791427s5.999414-59.994141 17.698272-87.791426c11.398887-26.897373 27.597305-50.99502 48.395274-71.692999 20.697979-20.697979 44.895616-36.996387 71.692998-48.395274 27.797285-11.698858 57.294405-17.698272 87.791427-17.698272s59.994141 5.999414 87.791427 17.698272c26.897373 11.398887 50.99502 27.597305 71.692998 48.395274 20.697979 20.697979 36.996387 44.895616 48.395274 71.692999 11.698858 27.797285 17.698272 57.294405 17.698272 87.791426s-5.999414 59.994141-17.698272 87.791427c-11.398887 26.897373-27.597305 50.99502-48.395274 71.692999-20.697979 20.697979-44.795625 36.996387-71.692998 48.395273z\" p-id=\"24109\"></path><path d=\"M296.970999 157.984572H162.984084c-2.699736 0-4.999512 2.199785-4.999512 4.999512v133.986915c0 2.699736 2.199785 4.999512 4.999512 4.999512h133.986915c2.699736 0 4.999512-2.199785 4.999512-4.999512V162.984084c0-2.799727-2.199785-4.999512-4.999512-4.999512zM869.315106 684.933112c-1.399863 3.299678 0.999902 6.899326 4.599551 6.899326l70.093155-0.09999v-0.19998h34.996582c2.699736 0 4.999512-2.199785 4.999512-4.999512V528.948345c0-2.699736-2.199785-4.999512-4.999512-4.999512H948.907333c-2.699736 0-4.999512 2.199785-4.999511 4.999512l0.19998 117.888487c0 2.699736-2.199785 4.999512-4.899522 4.999512l-54.194707 0.09999c-2.199785 0-4.0996 1.399863-4.699541 3.499659-0.999902 2.999707-1.999805 6.099404-2.999707 9.099111-2.499756 6.799336-5.199492 13.598672-7.999219 20.398008zM162.984084 825.919344h133.986915c2.699736 0 4.999512-2.199785 4.999512-4.999512v-27.297334c0-1.299873-0.499951-2.499756-1.399864-3.399668-29.79709-30.996973-53.294795-66.593497-69.493213-105.289718-0.799922-1.799824-2.599746-2.999707-4.599551-2.999707H162.984084c-2.699736 0-4.999512 2.199785-4.999512 4.999512v133.986915c0 2.799727 2.199785 4.999512 4.999512 4.999512zM550.246265 204.08007c2.899717 0 5.799434 0 8.59916 0.099991s5.099502-2.199785 5.099502-4.999512V44.995606c0-2.699736 2.199785-4.999512 4.999512-4.999512h369.963871c2.699736 0 4.999512 2.199785 4.999512 4.999512v369.963871c0 2.699736-2.199785 4.999512-4.999512 4.999511h-60.494093c-3.499658 0-5.899424 3.499658-4.59955 6.699346 3.699639 9.699053 6.999316 19.598086 9.799043 29.59711 0.599941 2.099795 2.499756 3.599648 4.799531 3.599648H978.904404c2.699736 0 4.999512-2.199785 4.999512-4.999511V4.999512c0-2.699736-2.199785-4.999512-4.999512-4.999512H528.948345c-2.699736 0-4.999512 2.199785-4.999512 4.999512v194.780978c0 2.799727 2.399766 5.099502 5.199492 4.899522 6.999316-0.399961 13.998633-0.599941 21.09794-0.599942z\" p-id=\"24110\"></path><path d=\"M684.933112 231.177424c38.596231 16.298408 74.092764 39.696123 105.089737 69.493214 0.899912 0.899912 2.099795 1.399863 3.399668 1.399863H820.919832c2.699736 0 4.999512-2.199785 4.999512-4.999512V162.984084c0-2.699736-2.199785-4.999512-4.999512-4.999512H686.932917c-2.699736 0-4.999512 2.199785-4.999512 4.999512v63.593789c0 1.999805 1.199883 3.799629 2.999707 4.599551zM563.944927 943.907822v-42.495851c0-2.799727-2.299775-4.999512-5.099502-4.999511-2.899717 0.09999-5.799434 0.09999-8.69915 0.09999-7.099307 0-14.098623-0.19998-21.09794-0.599941-2.799727-0.19998-5.199492 2.099795-5.199492 4.899521V978.904404c0 2.699736 2.199785 4.999512 4.999512 4.999512h30.297041c2.799727 0 4.999512-2.199785 4.999512-4.999512l-0.299971-25.39752V943.907822zM714.630212 882.113856v-18.798164c0-3.699639-3.899619-6.099404-7.199297-4.399571-9.699053 4.899522-19.598086 9.399082-29.59711 13.398692-1.899814 0.799922-3.099697 2.599746-3.099697 4.599551v101.99004c0 2.699736 2.199785 4.999512 4.999512 4.999512H709.930671c2.699736 0 4.999512-2.199785 4.999512-4.999512l-0.299971-72.392931v-24.397617zM221.978322 419.958988H44.995606c-2.699736 0-4.999512-2.199785-4.999512-4.999511V44.995606c0-2.699736 2.199785-4.999512 4.999512-4.999512h369.963871c2.699736 0 4.999512 2.199785 4.999511 4.999512v177.082707c0 3.499658 3.499658 5.899424 6.699346 4.59955 9.699053-3.699639 19.598086-6.999316 29.59711-9.799043 2.099795-0.599941 3.599648-2.499756 3.599648-4.799531V4.999512c0-2.699736-2.199785-4.999512-4.999511-4.999512H4.999512C2.199785 0 0 2.199785 0 4.999512v449.956059c0 2.699736 2.199785 4.999512 4.999512 4.999512h207.079777c2.199785 0 4.19959-1.499854 4.799531-3.599649 2.799727-9.999024 6.099404-19.898057 9.799043-29.59711 1.199883-3.299678-1.199883-6.799336-4.699541-6.799336zM815.62035 944.807734V978.904404c0 2.699736 2.199785 4.999512 4.999511 4.999512H850.916903c2.799727 0 4.999512-2.199785 4.999511-4.999512v-3.899619c0-1.299873-0.499951-2.499756-1.499853-3.499659l-30.297041-30.297041c-3.199688-2.999707-8.49917-0.799922-8.49917 3.599649zM419.958988 878.614198V938.90831c0 2.699736-2.199785 4.999512-4.999511 4.999512H44.995606c-2.699736 0-4.999512-2.199785-4.999512-4.999512V568.944439c0-2.699736 2.199785-4.999512 4.999512-4.999512h154.184943c2.799727 0 4.999512-2.299775 4.999512-5.099502-0.09999-2.899717-0.09999-5.699443-0.099991-8.59916 0-7.099307 0.19998-14.098623 0.599942-21.09794 0.19998-2.799727-2.099795-5.199492-4.899522-5.199492H4.999512c-2.699736 0-4.999512 2.199785-4.999512 4.999512v449.956059c0 2.699736 2.199785 4.999512 4.999512 4.999512h449.956059c2.699736 0 4.999512-2.199785 4.999512-4.999512v-90.491163c0-2.199785-1.499854-4.19959-3.599649-4.799531-9.999024-2.799727-19.898057-6.099404-29.59711-9.799043-3.299678-1.099893-6.799336 1.299873-6.799336 4.799531z\" p-id=\"24111\"></path></svg>`;\nSVGConst.Copy = `<svg t=\"1697544850464\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"34581\" width=\"128\" height=\"128\"><path d=\"M753.312 698.848 753.312 383.6736c0-62.048-50.3104-112.3264-112.288-112.3264L395.3024 271.3472 324.288 271.3472l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 400.0512c0 61.9776 50.24 112.2752 112.288 112.2752l400.0128 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656 0.8768 0 0-54.0352C753.888 698.624 753.6768 698.7776 753.312 698.848zM660.6016 681.728l0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-1.4272 42.3552-36.064 76.3008-78.7328 76.3008L300.3392 803.296c-43.5968 0-78.9056-35.3664-78.9056-78.9696L221.4336 442.9888c0-42.2336 33.2608-76.4928 75.0144-78.5984 1.2928-0.064 2.5984-0.3712 3.8912-0.3712l41.4272 0L581.632 364.0192c43.6608 0 78.9696 35.4048 78.9696 78.9696L660.6016 681.728zM895.1232 555.5008 895.1232 240.3264c0-62.048-50.3104-112.3264-112.288-112.3264L537.1136 128 466.0992 128l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 4.4736 115.0784 0c13.4912-13.8112 32.0256-22.72 52.6464-23.7568 1.2864-0.064 2.592-0.3712 3.8848-0.3712l41.4272 0 239.8656 0c43.6608 0 78.9696 35.4048 78.9696 78.9696l0 238.7328 0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-0.8768 25.9136-14.208 48.6336-34.176 62.4l0 106.6048 14.8352 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656L896 609.3056l0-54.0352C895.6992 555.2768 895.488 555.424 895.1232 555.5008z\"  p-id=\"34582\"></path></svg>`;\nSVGConst.Trans = `<svg t=\"1697545879531\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"35670\" width=\"128\" height=\"128\"><path d=\"M640 416h256c35.36 0 64 28.48 64 64v416c0 35.36-28.48 64-64 64H480c-35.36 0-64-28.48-64-64V640h128c53.312 0 96-42.976 96-96V416zM64 128c0-35.36 28.48-64 64-64h416c35.36 0 64 28.48 64 64v416c0 35.36-28.48 64-64 64H128c-35.36 0-64-28.48-64-64V128z m128 276.256h46.72v-24.768h67.392V497.76h49.504V379.488h68.768v20.64h50.88V243.36H355.616v-34.368c0-10.08 1.376-18.784 4.16-26.112a10.56 10.56 0 0 0 1.344-4.16c0-0.896-3.2-1.792-9.6-2.72h-46.816v67.36H192v160.896z m46.72-122.368h67.392v60.48h-67.36V281.92z m185.664 60.48h-68.768V281.92h68.768v60.48z m203.84 488l19.264-53.632h100.384l19.264 53.632h54.976L732.736 576h-64.64L576 830.4h52.256z m33.024-96.256l37.12-108.608h1.376l34.368 108.608h-72.864zM896 320h-64a128 128 0 0 0-128-128v-64a192 192 0 0 1 192 192zM128 704h64a128 128 0 0 0 128 128v64a192 192 0 0 1-192-192z\" p-id=\"35671\"></path></svg>`;\nSVGConst.Collect = `<svg t=\"1707204801559\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"25628\" width=\"128\" height=\"128\"><path d=\"M969.788235 265.035294c-12.047059-36.141176-36.141176-66.258824-60.235294-90.352941-54.211765-54.211765-120.470588-78.305882-186.729412-78.305882-78.305882 0-156.611765 36.141176-210.823529 102.4-54.211765-66.258824-126.494118-102.4-210.823529-102.4-72.282353 0-138.541176 30.117647-186.729412 78.305882C60.235294 228.894118 30.117647 307.2 30.117647 385.505882c0 84.329412 36.141176 168.658824 102.4 222.870589l6.023529 6.023529c12.047059 12.047059 54.211765 48.188235 108.42353 96.376471 90.352941 78.305882 198.776471 180.705882 240.941176 222.870588 12.047059 12.047059 36.141176 12.047059 48.188236 0 30.117647-30.117647 102.4-90.352941 168.658823-156.611765 72.282353-66.258824 144.564706-132.517647 186.729412-168.658823 66.258824-54.211765 102.4-138.541176 102.4-222.870589 0-48.188235-6.023529-84.329412-24.094118-120.470588zM566.211765 240.941176c36.141176-48.188235 96.376471-78.305882 156.611764-78.305882 54.211765 0 102.4 18.070588 138.541177 60.235294 18.070588 18.070588 36.141176 42.164706 48.188235 72.282353 24.094118 60.235294 24.094118 126.494118-6.023529 180.705883-12.047059 30.117647-30.117647 54.211765-54.211765 72.282352-36.141176 30.117647-96.376471 90.352941-186.729412 168.658824-48.188235 42.164706-96.376471 90.352941-144.564706 132.517647-66.258824-60.235294-126.494118-114.447059-192.752941-174.682353l-42.164706-42.164706c-30.117647-24.094118-60.235294-54.211765-90.352941-78.305882l-6.023529-6.02353c-48.188235-42.164706-78.305882-102.4-78.305883-168.658823 0-30.117647 6.023529-60.235294 18.070589-84.329412 12.047059-24.094118 24.094118-48.188235 48.188235-72.282353 36.141176-36.141176 84.329412-60.235294 138.541176-60.235294 60.235294 0 114.447059 30.117647 156.611765 78.305882 12.047059 18.070588 30.117647 24.094118 54.211765 24.094118s30.117647-6.023529 42.164706-24.094118z\" p-id=\"25629\" data-spm-anchor-id=\"a313x.search_index.0.i10.614d3a81eAu1gD\" class=\"selected\"></path><path d=\"M680.658824 271.058824c102.4 0 114.447059 54.211765 120.470588 72.282352 18.070588 42.164706 18.070588 90.352941-6.02353 132.517648-12.047059 18.070588-24.094118 36.141176-42.164706 54.211764-24.094118 24.094118-72.282353 66.258824-138.541176 126.494118-36.141176 30.117647-72.282353 66.258824-108.423529 96.37647-48.188235-42.164706-90.352941-84.329412-138.541177-126.494117l-30.117647-30.117647c-24.094118-18.070588-42.164706-42.164706-66.258823-60.235294l-6.02353-6.02353c-36.141176-30.117647-54.211765-72.282353-54.211765-120.470588 0-24.094118 6.023529-42.164706 12.047059-66.258824 6.023529-18.070588 24.094118-72.282353 132.517647-72.282352 42.164706 0 84.329412 54.211765 114.447059 90.352941 12.047059 12.047059 24.094118 18.070588 36.141177 18.070588s30.117647-6.023529 36.141176-18.070588c36.141176-36.141176 90.352941-90.352941 138.541177-90.352941z\" p-id=\"25630\" data-spm-anchor-id=\"a313x.search_index.0.i11.614d3a81eAu1gD\" class=\"selected\"></path></svg>`;\nSVGConst.CollectWhite = `<svg t=\"1707204765538\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"25429\" width=\"128\" height=\"128\"><path d=\"M969.788235 265.035294c-12.047059-36.141176-36.141176-66.258824-60.235294-90.352941-54.211765-54.211765-120.470588-78.305882-186.729412-78.305882-78.305882 0-156.611765 36.141176-210.823529 102.4-54.211765-66.258824-126.494118-102.4-210.823529-102.4-72.282353 0-138.541176 30.117647-186.729412 78.305882C60.235294 228.894118 30.117647 307.2 30.117647 385.505882c0 84.329412 36.141176 168.658824 102.4 222.870589l6.023529 6.023529c12.047059 12.047059 54.211765 48.188235 108.42353 96.376471 90.352941 78.305882 198.776471 180.705882 240.941176 222.870588 12.047059 12.047059 36.141176 12.047059 48.188236 0 30.117647-30.117647 102.4-90.352941 168.658823-156.611765 72.282353-66.258824 144.564706-132.517647 186.729412-168.658823 66.258824-54.211765 102.4-138.541176 102.4-222.870589 0-48.188235-6.023529-84.329412-24.094118-120.470588zM566.211765 240.941176c36.141176-48.188235 96.376471-78.305882 156.611764-78.305882 54.211765 0 102.4 18.070588 138.541177 60.235294 18.070588 18.070588 36.141176 42.164706 48.188235 72.282353 24.094118 60.235294 24.094118 126.494118-6.023529 180.705883-12.047059 30.117647-30.117647 54.211765-54.211765 72.282352-36.141176 30.117647-96.376471 90.352941-186.729412 168.658824-48.188235 42.164706-96.376471 90.352941-144.564706 132.517647-66.258824-60.235294-126.494118-114.447059-192.752941-174.682353l-42.164706-42.164706c-30.117647-24.094118-60.235294-54.211765-90.352941-78.305882l-6.023529-6.02353c-48.188235-42.164706-78.305882-102.4-78.305883-168.658823 0-30.117647 6.023529-60.235294 18.070589-84.329412 12.047059-24.094118 24.094118-48.188235 48.188235-72.282353 36.141176-36.141176 84.329412-60.235294 138.541176-60.235294 60.235294 0 114.447059 30.117647 156.611765 78.305882 12.047059 18.070588 30.117647 24.094118 54.211765 24.094118s30.117647-6.023529 42.164706-24.094118z\"  p-id=\"25430\"></path><path d=\"M680.658824 271.058824c102.4 0 114.447059 54.211765 120.470588 72.282352 18.070588 42.164706 18.070588 90.352941-6.02353 132.517648-12.047059 18.070588-24.094118 36.141176-42.164706 54.211764-24.094118 24.094118-72.282353 66.258824-138.541176 126.494118-36.141176 30.117647-72.282353 66.258824-108.423529 96.37647-48.188235-42.164706-90.352941-84.329412-138.541177-126.494117l-30.117647-30.117647c-24.094118-18.070588-42.164706-42.164706-66.258823-60.235294l-6.02353-6.02353c-36.141176-30.117647-54.211765-72.282353-54.211765-120.470588 0-24.094118 6.023529-42.164706 12.047059-66.258824 6.023529-18.070588 24.094118-72.282353 132.517647-72.282352 42.164706 0 84.329412 54.211765 114.447059 90.352941 12.047059 12.047059 24.094118 18.070588 36.141177 18.070588s30.117647-6.023529 36.141176-18.070588c36.141176-36.141176 90.352941-90.352941 138.541177-90.352941z\"  p-id=\"25431\"></path></svg>`;\nSVGConst.Delete = `<svg t=\"1707292493996\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4233\" width=\"128\" height=\"128\"><path d=\"M665.6 563.2v153.6c0 30.72-20.48 51.2-51.2 51.2s-51.2-20.48-51.2-51.2v-153.6c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2z m-204.8 0v153.6c0 30.72-20.48 51.2-51.2 51.2s-51.2-20.48-51.2-51.2v-153.6c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2zM307.2 409.6c-30.72 0-51.2 20.48-51.2 51.2v358.4c0 30.72 20.48 51.2 51.2 51.2h409.6c30.72 0 51.2-20.48 51.2-51.2V460.8c0-30.72-20.48-51.2-51.2-51.2H307.2zM256 307.2h512c56.32 0 102.4 46.08 102.4 102.4v460.8c0 56.32-46.08 102.4-102.4 102.4H256c-56.32 0-102.4-46.08-102.4-102.4V409.6c0-56.32 46.08-102.4 102.4-102.4z m204.8-179.2V102.4c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2v25.6h256c30.72 0 51.2 20.48 51.2 51.2s-20.48 51.2-51.2 51.2H204.8c-30.72 0-51.2-20.48-51.2-51.2s20.48-51.2 51.2-51.2h256z\" p-id=\"4234\"></path></svg>`;\nSVGConst.Detail = `<svg t=\"1711363402476\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7761\" width=\"256\" height=\"256\"><path d=\"M706.65 321H349.12a35.75 35.75 0 0 1 0-71.51h357.53a35.75 35.75 0 0 1 0 71.51zM420.63 446.1h-71.51a35.75 35.75 0 0 1 0-71.51h71.51a35.75 35.75 0 0 1 0 71.51z\"  p-id=\"7762\"></path><path d=\"M854.86 780.55L753.7 679.39A165.55 165.55 0 0 0 775 598c0-91.92-74.79-166.71-166.71-166.71S441.62 506.13 441.62 598s74.79 166.71 166.71 166.71a165.73 165.73 0 0 0 102.74-35.69l97.63 97.68a32.64 32.64 0 0 0 46.16-46.16z m-246.53-81.07A101.44 101.44 0 1 1 709.76 598a101.55 101.55 0 0 1-101.43 101.48z\" p-id=\"7763\"></path><path d=\"M653 893H250.8a98.43 98.43 0 0 1-98.32-98.32V186.89a98.43 98.43 0 0 1 98.32-98.32H805a98.43 98.43 0 0 1 98.32 98.32V562.3a44.69 44.69 0 0 1-89.38 0V186.89A9 9 0 0 0 805 178H250.8a9 9 0 0 0-8.94 8.94v607.75a9 9 0 0 0 8.94 8.94H653a44.69 44.69 0 1 1 0 89.37z\"  p-id=\"7764\"></path></svg>`;\nSVGConst.Play = '<svg t=\"1710139103853\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4318\" width=\"256\" height=\"256\"><path d=\"M64 511.99984C64 264.584462 264.584462 64 511.99984 64 759.415218 64 959.99968 264.584462 959.99968 511.99984 959.99968 759.415218 759.415218 959.99968 511.99984 959.99968 264.584462 959.99968 64 759.415218 64 511.99984M414.843608 309.742846C386.052152 293.883651 362.66656 307.56258 362.66656 340.415901L362.66656 683.553912C362.66656 716.1683 386.022285 730.116029 414.843608 714.226968L729.070696 540.791296C757.802419 524.902235 757.862152 499.097445 729.070696 483.178517L414.843608 309.742846Z\" p-id=\"4319\" ></path></svg>';\nSVGConst.Publish = `<svg t=\"1711454156921\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9813\" width=\"256\" height=\"256\"><path d=\"M516.266667 640c81.066667 0 243.2 12.8 337.066666 85.333333v170.666667H170.666667v-170.666667c98.133333-72.533333 260.266667-85.333333 345.6-85.333333z\" fill=\"#D2E3FA\" p-id=\"9814\"></path><path d=\"M341.333333 332.8h170.666667c17.066667 0 34.133333-12.8 34.133333-34.133333s-17.066667-34.133333-34.133333-34.133334H341.333333c-17.066667 0-34.133333 17.066667-34.133333 34.133334s17.066667 34.133333 34.133333 34.133333zM597.333333 435.2H341.333333c-17.066667 0-34.133333 12.8-34.133333 34.133333s12.8 34.133333 34.133333 34.133334h256c17.066667 0 34.133333-12.8 34.133334-34.133334s-17.066667-34.133333-34.133334-34.133333z\" fill=\"#ff6259\" p-id=\"9815\" data-spm-anchor-id=\"a313x.search_index.0.i1.4dd73a811LG3fm\" class=\"selected\"></path><path d=\"M938.666667 460.8c25.6-21.333333 46.933333-51.2 85.333333-119.466667-46.933333 0-89.6 4.266667-128 12.8V213.333333c0-72.533333-55.466667-128-128-128H256C183.466667 85.333333 128 140.8 128 213.333333v597.333334c0 72.533333 55.466667 128 128 128h512c72.533333 0 128-55.466667 128-128v-226.133334c25.6-25.6 46.933333-55.466667 55.466667-85.333333l-34.133334-21.333333 21.333334-17.066667z m-106.666667-81.066667c-170.666667 76.8-213.333333 256-234.666667 362.666667v17.066667c0 4.266667 4.266667 4.266667 4.266667 8.533333 0 0 4.266667 4.266667 8.533333 4.266667H622.933333c4.266667 0 8.533333 0 12.8-4.266667 4.266667-4.266667 8.533333-8.533333 8.533334-12.8 0-4.266667 0-8.533333 4.266666-8.533333 17.066667-55.466667 55.466667-85.333333 110.933334-93.866667 25.6-4.266667 51.2-8.533333 72.533333-21.333333V810.666667c0 34.133333-29.866667 64-64 64H256c-34.133333 0-64-29.866667-64-64V213.333333c0-34.133333 29.866667-64 64-64h512c34.133333 0 64 29.866667 64 64v166.4z\" fill=\"#ff6259\" p-id=\"9816\" data-spm-anchor-id=\"a313x.search_index.0.i0.4dd73a811LG3fm\" class=\"selected\"></path></svg>`;\nSVGConst.Rank = `<svg t=\"1683540102137\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2419\" ><path d=\"M288 288 160 288c-17.664 0-32 14.336-32 32l0 544c0 17.696 14.336 32 32 32l128 0c17.664 0 32-14.304 32-32L320 320C320 302.336 305.664 288 288 288z\" fill=\"#5E6570\" p-id=\"2420\"></path><path d=\"M576 480l-128 0c-17.664 0-32 14.336-32 32l0 352c0 17.696 14.336 32 32 32l128 0c17.696 0 32-14.304 32-32L608 512C608 494.336 593.696 480 576 480z\" fill=\"#5E6570\" p-id=\"2421\"></path><path d=\"M864 128l-128 0c-17.696 0-32 14.336-32 32l0 704c0 17.696 14.304 32 32 32l128 0c17.696 0 32-14.304 32-32L896 160C896 142.336 881.696 128 864 128z\" fill=\"#5E6570\" p-id=\"2422\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SVGConst);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/SVGConst.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Style.ts":
    /*!***************************************!*\
      !*** ./src/Injects/CodeFind/Style.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst Style = `\r\n\r\nwie-test{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 10px;\r\n    left: 10px;\r\n}\r\n\r\nwie-code,\r\nwie-zh {\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n    border: 1.5px solid var(--mainTextColor);\r\n    outline: 1.5px solid var(--mainColor);\r\n    border: none;\r\n    outline: none;\r\n    padding: 2px 4px 2px;\r\n    border-radius: 0 6px 0 6px;\r\n    font-weight: 700;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    position: relative;\r\n    box-sizing: border-box;\r\n    /* display: inline-block; */\r\n    text-shadow: 0px 2px 3px #4f4f4f4d;\r\n    vertical-align: inherit;\r\n    z-index: 1;\r\n    \r\n}\r\nwie-code.Block{\r\n    overflow: hidden;\r\n    display: inline-block;\r\n}\r\nwie-code.Block:before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 0;\r\n    height: 100%;\r\n    background-color: #0aef4c;\r\n    opacity: 0;\r\n    transition: width var(--CodeHoverTime) ease-in-out, opacity var(--CodeHoverTime) ease;\r\n    z-index:-1;\r\n\r\n}\r\nwie-code.Block:hover {\r\n\r\n}\r\n\r\nwie-code.Block:hover:before {\r\n    width: 100%;\r\n    opacity: 0.8;\r\n}\r\n  \r\n\r\nwie-code.Text {\r\n    background: none;\r\n    text-shadow:none;\r\n    border-radius:0;\r\n    padding:0;\r\n    vertical-align: inherit;\r\n}\r\n\r\nwie-code.Text:hover:after {\r\n    width: 100%;\r\n    left: 0%;\r\n  }\r\n  \r\nwie-code.Text:after {\r\n    content: \"\";\r\n    pointer-events: none;\r\n    bottom: -2px;\r\n    left: 50%;\r\n    position: absolute;\r\n    width: 0%;\r\n    height: 2px;\r\n    background-color: var(--mainColor);\r\n    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    transition-duration: var(--CodeHoverTime);\r\n    transition-property: width, left;\r\n}\r\n\r\n\r\nwie-code .wie-svg{\r\n    width: auto;\r\n    height: auto;\r\n    vertical-align: middle;\r\n    color: var(--mainTextColor);\r\n    fill: var(--mainTextColor);\r\n    margin-bottom: 2px;\r\n    display: inline-block;\r\n}\r\nwie-code.Text .wie-svg{\r\n    color: initial;\r\n    fill: initial;\r\n}\r\n.wie-btn-translate{\r\n    font-size: 12px;\r\n}\r\n\r\nwie-code.visited{\r\n    background: #07b038;\r\n}\r\n\r\nwie-code.Text.visited{\r\n    background: none;\r\n}\r\n\r\nwie-code.Text.visited>w-code>svg{\r\n    color: #07b038;\r\n    fill: #07b038;\r\n}\r\n\r\nwie-code>w-code {\r\n    z-index: 1;\r\n    position: relative;\r\n    color: var(--mainTextColor) !important;\r\n    font-weight: 700;\r\n    background:none !important;\r\n    padding: 0 1px !important;\r\n}\r\nwie-code.Text{\r\n    color:inherit;\r\n}\r\nwie-code.Text>w-code{\r\n    color: inherit !important;\r\n}\r\n/**\r\nwie-code:hover {\r\n    background: #009e86;\r\n}\r\n\r\nwie-code.visited{\r\n    background: #108ee9;\r\n}\r\n**/\r\n\r\n#wie-code{\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    height: 100%;\r\n}\r\n\r\n#wie-introduce {\r\n    font-size: 14px;\r\n    padding: 10px;\r\n}\r\n\r\n#wie-introduce img {\r\n    width: 100%;\r\n    margin: 10px 0;\r\n}\r\n\r\nwie-null {\r\n    text-align: center;\r\n    margin: 20px;\r\n    color: var(--colorLight);\r\n    display: block;\r\n}\r\n\r\n#wie-introduce p {\r\n    margin-bottom: 10px;\r\n    word-wrap: break-word;\r\n    line-height: 1.5;\r\n}\r\n\r\n.wie-tabs {\r\n    display: flex;\r\n    justify-content: stretch;\r\n    margin-top: 5px;\r\n    border-top: 1px solid var(--mainColor);\r\n    border-bottom: 1px solid var(--mainColor);\r\n    color: var(--mainColor);\r\n}\r\n\r\nwie-tab {\r\n    display: block;\r\n    width: 100%;\r\n    text-align: center;\r\n    padding: 5px 0;\r\n    line-height: 20px;\r\n    height: 20px;\r\n    box-sizing: content-box;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    cursor: pointer;\r\n}\r\n\r\n\r\n\r\nwie-tab:hover {\r\n    background: var(--mainLightColor);\r\n    color: #fff;\r\n}\r\n\r\nwie-tab.active {\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n}\r\n\r\n\r\n\r\n#wie-content{\r\n    border-radius: 8px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    background: var(--bgLightColor);\r\n}\r\n\r\n\r\n#wie-preview .swiper-slide {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n\r\nwie-dialog>.swiper-container{\r\n    max-height: 80%;\r\n    max-width: 90%;\r\n    text-align: center;\r\n    margin-right: 350px;\r\n    padding: 2px;\r\n    position: relative;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image{\r\n    max-width: 90%;\r\n    max-height: 90%;\r\n    height: auto;\r\n    width: auto;\r\n    overflow: auto;\r\n    padding: 2px;\r\n    right: auto;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img{\r\n    height: auto;\r\n    padding: 0;\r\n    outline: 2px solid var(--mainColor);\r\n    vertical-align: top;\r\n    max-height: 100%;\r\n    box-sizing: border-box;\r\n    border: 2px solid var(--bgColor);\r\n    border-radius: 5px;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img>img,\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img>video{\r\n    width: 100%;\r\n    vertical-align: top;\r\n}\r\n\r\n\r\n#wie-dialog-in .swiper-slide {\r\n    overflow: auto;\r\n    position: relative;\r\n    padding: 20px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#wie-preview-out{\r\n    // margin: 10px 0px 0;\r\n    padding: 0 10px 2px;\r\n}\r\n#wie-preview .wie-preview-img:hover{\r\n    transform: scale(1);\r\n}\r\n#wie-preview .wie-img{\r\n    max-width: 95%;\r\n    max-height: 100%;\r\n    border: 2px solid var(--mainBorderColor);\r\n    box-sizing: border-box;\r\n    background: #FFF;\r\n    box-sizing: border-box;\r\n    padding: 2px;\r\n    border-radius: 10px;\r\n}\r\n#wie-preview  video{\r\n    max-width: 95%;\r\n    max-height: 100%;\r\n    vertical-align: bottom;\r\n    border-radius: 10px;\r\n    border: 2px solid var(--mainBorderColor);\r\n    padding: 2px;\r\n    background: #FFF;\r\n    box-sizing: border-box;\r\n}\r\n\r\n\r\n.wie-preview-img img {\r\n    width: 100%;\r\n    vertical-align: top;\r\n}\r\n\r\n.wie-preview-img{\r\n    width: 100%;\r\n    border-radius: 8px;\r\n    height: 75px;\r\n    transition: all 1s cubic-bezier(0.22, 0.61, 0.36, 1);\r\n    overflow: hidden;\r\n}\r\n.wie-preview-img:hover{\r\n    transform: scale(1.02);\r\n}\r\n\r\n\r\n.wie-preview-img-small {\r\n    width: 100%;\r\n}\r\n.wie-preview-img-small img {\r\n    width: 100%;\r\n    border: 2px solid var(--mainBorderColor);\r\n    box-sizing: border-box;\r\n    vertical-align: top;\r\n}\r\n\r\n.swiper-slide-thumb-active .wie-preview-img-small img{\r\n    border: 2px solid var(--mainTextColor);\r\n}\r\n\r\n\r\nwie-preview .wie-preview-img{\r\n    height: auto;\r\n    border: 2px solid var(--mainBorderColor);\r\n    margin-bottom: 10px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#wie-image{\r\n    border: 2px solid var(--mainColor);\r\n    border-radius: 8px;\r\n}\r\n\r\n\r\n\r\n#wie-buttons{\r\n    display: block;\r\n    position: relative;\r\n}\r\n\r\n#wie-back.disabled{\r\n    fill: var(--mainLightColor);\r\n}\r\n\r\nwie-comment {\r\n    border-bottom: 1px solid var(--colorLight);\r\n    display: block;\r\n    padding: 0 0 5px;\r\n    word-break: break-all;\r\n}\r\n\r\n.wie-comment-title {\r\n    padding: 10px 0 5px;\r\n}\r\n\r\n.wie-comment-name {\r\n    color: var(--colorLight);\r\n    display: inline-block;\r\n}\r\n\r\n.wie-comment-date {\r\n    font-size: 10px;\r\n    color: var(--colorLight);\r\n    display: inline-block;\r\n    float: right;\r\n}\r\n\r\n.wie-info{\r\n    padding: 5px 10px;\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    border-top: 1px solid var(--mainColor);\r\n    background: var(--bgColor);\r\n    right: 0px;\r\n    height: 44px;\r\n    line-height: 30px;\r\n    position: relative;\r\n    box-sizing: content-box;\r\n}\r\n\r\n\r\n#wie-version {\r\n    width: 25px;\r\n    height: 25px;\r\n    position: absolute;\r\n    right: 7px;\r\n    top: 7px;\r\n    cursor: pointer;\r\n    fill: var(--mainColor);\r\n}\r\n\r\n#wie-version {\r\n    right: 40px;\r\n}\r\n\r\n\r\n.wie-info-title{\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n}\r\n\r\n.wie-info-version{\r\n    font-size: 14px;\r\n    margin:  0 5px;\r\n}\r\n\r\n.wie-info-count span{\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n    margin: 0 3px;\r\n}\r\n\r\n\r\nwie-emby {\r\n    width: 90px;\r\n    position: absolute;\r\n    right: -9px;\r\n    bottom: -9px;\r\n    cursor: pointer;\r\n}\r\n\r\n\r\nwie-emby>img{\r\n    width: 100%;\r\n    vertical-align: top;\r\n    height: 100%;\r\n}\r\n\r\n\r\n.wie-codes,\r\n.wie-videos,\r\n.wie-grid {\r\n    padding: 10px;\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n    justify-content: center;\r\n    grid-auto-flow: row dense;\r\n    grid-gap: 10px;\r\n}\r\n\r\n.wie-videos wie-radio{\r\n    padding:0;\r\n}\r\n\r\n.wie-codes {\r\n    padding: 0px;\r\n}\r\n\r\n\r\n\r\n\r\n#wie-series a,\r\n.wie-a{\r\n    color: var(--mainColor);\r\n    text-decoration: underline;\r\n}\r\n\r\n.wie-video-preview {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n}\r\n\r\n.wie-video-preview>video{\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n/*\r\n.wie-video-item:after {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 512 512'%3E%3Cpath d='M448 255c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z' fill=''  fill-opacity='0.8' stroke='none'/%3E%3Cpath fill='white' d='M216.32  334.44l114.45-69.14a10.89 10.89 0 000-18.6l-114.45-69.14a10.78 10.78 0 00-16.32 9.31v138.26a10.78 10.78 0 0016.32 9.31z'/%3E%3C/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: 50%;\r\n    background-size: 48px 48px;\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n}\r\n*/\r\n\r\n\r\n#wie-info-image wie-area{\r\n    padding: 10px 10px 0;\r\n}\r\n\r\n.wie-video-item img {\r\n    width: 100%;\r\n}\r\n\r\n.wie-video-item .pot,\r\n.wie-video-item .from,\r\n.wie-video-item .zh,\r\n.wie-video-item .duration\r\n{\r\n    position: absolute;\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--mainBorderColor);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    padding: 0 6px;\r\n    line-height: 2;\r\n    max-width: 40%;\r\n    overflow: hidden;\r\n    color:var(--color);\r\n}\r\n\r\n.wie-video-item .pot{\r\n    top: 2px;\r\n    right: 2px;\r\n    border-radius: 0 6px 0 0;\r\n}\r\n\r\n.wie-video-item .from {\r\n    top: 2px;\r\n    left: 2px;\r\n    border-radius: 6px 0 0 0;\r\n}\r\n.wie-video-item .zh {\r\n    bottom: 2px;\r\n    left: 2px;\r\n}\r\n\r\n.wie-video-item  .duration {\r\n    bottom: 2px;\r\n    right: 2px;\r\n}\r\n\r\nwie-tag img {\r\n    height: 20px;\r\n    width: 20px;\r\n    border-radius: 50%;\r\n    display: inline-block;\r\n}\r\n\r\nwie-image-tag{\r\n    width: 60px;\r\n    height: 70px;\r\n    padding-top: 50px;\r\n    border-radius: 5px;\r\n    display: inline-block;\r\n    background-size: cover;\r\n    background-position: center;\r\n    margin: 5px 10px 1px 0;\r\n    border: 2px solid #3b5999;\r\n    overflow: hidden;\r\n    box-sizing: border-box;\r\n}\r\nwie-image-tag .name{\r\n    color: #fff;\r\n    background: #3b5999;\r\n    text-align: center;\r\n    font-size: 10px;\r\n}\r\n\r\nwie-actor {\r\n    width: 100%;\r\n    display: block;\r\n    text-align: center;\r\n    padding: 10px 0px 2px;\r\n    transform:translate(0,2px);\r\n    transition:0.3s;\r\n    transition-timing-function: ease-out;\r\n    border-bottom: 2px solid var(--mainColor);\r\n}\r\n\r\nwie-avatar{\r\n    width: 54px;\r\n    height: 54px;\r\n    border-radius: 50%;\r\n    overflow: hidden;\r\n    margin: 0 auto;\r\n    border: 2px solid var(--mainColor);\r\n    box-sizing: border-box;\r\n    display: block;\r\n    background:var(--bgColor);\r\n}\r\n\r\nwie-avatar img {\r\n    width: 100%;\r\n    height: 100%;\r\n    transition: all 1s ease;\r\n    vertical-align: top;\r\n}\r\n\r\nwie-avatar img:hover {\r\n    transform: scale(1.2);\r\n}   \r\n\r\nwie-actor .name{\r\n    font-size: 12px;\r\n    height: 14px;\r\n    line-height: 14px;\r\n    overflow: hidden;\r\n    color:var(--mainColor);\r\n}\r\n\r\n.wie-tab-content {\r\n    position: relative;\r\n    border: 1px solid var(--mainBorderColor);\r\n    border-radius: 8px;\r\n}\r\n\r\n.emby-image {\r\n    background-size: auto 100%;\r\n    background-repeat: no-repeat;\r\n    background-position: right center;\r\n    padding: 5px 10px 0;\r\n}\r\n\r\n\r\n.wie-actor-line {\r\n    display: inline-block;\r\n    width: 100%;\r\n    margin-top: 2px;\r\n\r\n}\r\n\r\n.wie-actor-line .rank{\r\n    margin-left: 2px;\r\n    cursor: pointer;\r\n}\r\n\r\n.wie-actor-line .rank svg{\r\n    width: 12px;\r\n    height: 12px;\r\n}\r\n\r\n\r\n.wie-btn.false {\r\n    display: none;\r\n}\r\n\r\n\r\n\r\nspan.cup {\r\n    margin: 0 2px;\r\n    font-size: 12px;\r\n}\r\n\r\nspan.cup.active {\r\n    color: var(--mainColor);\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n}\r\n.wie-keys{\r\n    position: relative;\r\n}\r\n\r\n.wie-line{\r\n    padding: 0 10px 3px 7px;\r\n}\r\n\r\n\r\n.wie-line>*{\r\n    display: inline-block;\r\n    vertical-align: middle;\r\n}\r\n.wie-line wie-code,\r\nwie-zh{\r\n    font-size: 12px;\r\n    padding: 4px 5px;\r\n    border-radius: 0 4px 0 4px;\r\n    margin: 0 1px 0;\r\n}\r\nwie-zh{\r\n    background: #e0393f;\r\n}\r\n\r\n\r\n\r\n\r\n.swiper-slide.swiper-slide-active wie-actor{\r\n    transform: translate(0,0);\r\n    color: var(--mainColor);\r\n}\r\n\r\n.swiper-backface-hidden {\r\n    overflow: hidden;\r\n}\r\n\r\nwie-name {\r\n    padding: 10px 0;\r\n    display: block;\r\n    font-size: 13px;\r\n    color: var(--color);\r\n    font-weight: 600;\r\n}\r\n\r\n\r\n\r\nwie-h2{\r\n    font-size: 15px;\r\n    font-weight: 700;\r\n    margin: 5px 10px;\r\n    display: inline-block;\r\n    color: var(--color);\r\n    display: -webkit-box;\r\n    overflow: hidden;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n}\r\n\r\nwie-h2 wie-btn{\r\n    margin-left: 5px;\r\n}\r\n\r\nwie-title{\r\n    text-align: center;\r\n    font-size: 15px;\r\n    width: 100%;\r\n    display: block;\r\n    padding: 10px;\r\n}\r\n.wie-name{\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    color:var(--colorLight);\r\n}\r\n\r\n.wie-name+div{\r\n    display: inline;\r\n}\r\n\r\nwie-tag{\r\n    color: var(--mainTextColor);\r\n    background: var(--mainColor);\r\n    padding: 0px 4px 1px;\r\n    border-radius: 3px;\r\n    font-size: 12px;\r\n    margin-right: 5px;\r\n    margin-top: 5px;\r\n    display: inline-block;\r\n}\r\n\r\nwie-content.wie-hidden{\r\n    display: none;\r\n}\r\n\r\n.wie-video{\r\n    position: relative;\r\n}\r\n\r\n.wie-video video{\r\n    width: 100%;\r\n    max-width: 700px;\r\n    vertical-align: top;\r\n    margin: 0 auto;\r\n}\r\n\r\nwie-trailer-btn{\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 40px;\r\n    background:#00e7ff00;\r\n    opacity: 0.8;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    margin: auto;\r\n    z-index:1;\r\n    transition:0.4s;\r\n    animation: wie-trailer-btn-anim 0.15s;\r\n\r\n}\r\n\r\nwie-trailer-btn:hover{\r\n    opacity: 1;\r\n    background:#00e7ff;\r\n}\r\nwie-trailer-btn:after {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 512 512'%3E%3Cpath d='M448 255c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z' fill=''  fill-opacity='0.8' stroke='none'/%3E%3Cpath fill='white' d='M216.32  334.44l114.45-69.14a10.89 10.89 0 000-18.6l-114.45-69.14a10.78 10.78 0 00-16.32 9.31v138.26a10.78 10.78 0 0016.32 9.31z'/%3E%3C/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: 50%;\r\n    background-size: 48px 48px;\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    /* border: 2px solid;\r\n    border-image:linear-gradient(45deg,gold,deeppink)1; */\r\n}\r\n\r\n\r\n@keyframes wie-trailer-btn-anim {\r\n    0% {\r\n        opacity: 0;\r\n        transform:scale(0);\r\n    }\r\n    100% {\r\n        opacity: 1;\r\n        transform:scale(1);\r\n    }\r\n}\r\n\r\n#wie-cover{\r\n    cursor: pointer;\r\n    // box-shadow: -2px -2px 4px rgb(230 230 230), 2px 2px 2px rgb(70 70 70 / 50%);\r\n    border: 1px solid #fff;\r\n    border-radius: 4px;\r\n    transform-origin: center 80%;\r\n    transition:0.2s;\r\n    transition-timing-function: ease-out;\r\n    position: absolute;\r\n    top: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    background-size: cover;\r\n    background-position: center;\r\n\r\n}\r\n\r\n\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Style);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Style.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/SwiperStyle.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/SwiperStyle.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst SwiperStyle = `\r\n@font-face {\r\n    font-family: 'swiper-icons';\r\n    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');\r\n    font-weight: 400;\r\n    font-style: normal;\r\n  }\r\n  /* FONT_END */\r\n  :root {\r\n    --swiper-theme-color: #007aff;\r\n    /*\r\n    --swiper-preloader-color: var(--swiper-theme-color);\r\n    --swiper-wrapper-transition-timing-function: initial;\r\n    */\r\n  }\r\n  .swiper,\r\n  swiper-container {\r\n    margin-left: auto;\r\n    margin-right: auto;\r\n    position: relative;\r\n    overflow: hidden;\r\n    list-style: none;\r\n    padding: 0;\r\n    /* Fix of Webkit flickering */\r\n    z-index: 1;\r\n    display: block;\r\n  }\r\n  .swiper-vertical > .swiper-wrapper {\r\n    flex-direction: column;\r\n  }\r\n  .swiper-wrapper {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 100%;\r\n    z-index: 1;\r\n    display: flex;\r\n    transition-property: transform;\r\n    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);\r\n    box-sizing: content-box;\r\n    cursor:grab;\r\n  }\r\n  .swiper-android .swiper-slide,\r\n  .swiper-wrapper {\r\n    transform: translate3d(0px, 0, 0);\r\n  }\r\n  .swiper-horizontal {\r\n    touch-action: pan-y;\r\n  }\r\n  .swiper-vertical {\r\n    touch-action: pan-x;\r\n  }\r\n  .swiper-slide,\r\n  swiper-slide {\r\n    flex-shrink: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    position: relative;\r\n    transition-property: transform;\r\n    display: block;\r\n  }\r\n  .swiper-slide-invisible-blank {\r\n    visibility: hidden;\r\n  }\r\n  /* Auto Height */\r\n  .swiper-autoheight,\r\n  .swiper-autoheight .swiper-slide {\r\n    height: auto;\r\n  }\r\n  .swiper-autoheight .swiper-wrapper {\r\n    align-items: flex-start;\r\n    transition-property: transform, height;\r\n  }\r\n  .swiper-backface-hidden .swiper-slide {\r\n    transform: translateZ(0);\r\n    -webkit-backface-visibility: hidden;\r\n            backface-visibility: hidden;\r\n  }\r\n  /* 3D Effects */\r\n  .swiper-3d.swiper-css-mode .swiper-wrapper {\r\n    perspective: 1200px;\r\n  }\r\n  .swiper-3d .swiper-wrapper {\r\n    transform-style: preserve-3d;\r\n  }\r\n  .swiper-3d {\r\n    perspective: 1200px;\r\n  }\r\n  .swiper-3d .swiper-slide,\r\n  .swiper-3d .swiper-slide-shadow,\r\n  .swiper-3d .swiper-slide-shadow-left,\r\n  .swiper-3d .swiper-slide-shadow-right,\r\n  .swiper-3d .swiper-slide-shadow-top,\r\n  .swiper-3d .swiper-slide-shadow-bottom,\r\n  .swiper-3d .swiper-cube-shadow {\r\n    transform-style: preserve-3d;\r\n  }\r\n  .swiper-3d .swiper-slide-shadow,\r\n  .swiper-3d .swiper-slide-shadow-left,\r\n  .swiper-3d .swiper-slide-shadow-right,\r\n  .swiper-3d .swiper-slide-shadow-top,\r\n  .swiper-3d .swiper-slide-shadow-bottom {\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    pointer-events: none;\r\n    z-index: 10;\r\n  }\r\n  .swiper-3d .swiper-slide-shadow {\r\n    background: rgba(0, 0, 0, 0.15);\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-left {\r\n    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-right {\r\n    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-top {\r\n    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-bottom {\r\n    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  /* CSS Mode */\r\n  .swiper-css-mode > .swiper-wrapper {\r\n    overflow: auto;\r\n    scrollbar-width: none;\r\n    /* For Firefox */\r\n    -ms-overflow-style: none;\r\n    /* For Internet Explorer and Edge */\r\n  }\r\n  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\r\n    display: none;\r\n  }\r\n  .swiper-css-mode > .swiper-wrapper > .swiper-slide {\r\n    scroll-snap-align: start start;\r\n  }\r\n  .swiper-horizontal.swiper-css-mode > .swiper-wrapper {\r\n    scroll-snap-type: x mandatory;\r\n  }\r\n  .swiper-vertical.swiper-css-mode > .swiper-wrapper {\r\n    scroll-snap-type: y mandatory;\r\n  }\r\n  .swiper-centered > .swiper-wrapper::before {\r\n    content: '';\r\n    flex-shrink: 0;\r\n    order: 9999;\r\n  }\r\n  .swiper-centered > .swiper-wrapper > .swiper-slide {\r\n    scroll-snap-align: center center;\r\n    scroll-snap-stop: always;\r\n  }\r\n  .swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\r\n    margin-inline-start: var(--swiper-centered-offset-before);\r\n  }\r\n  .swiper-centered.swiper-horizontal > .swiper-wrapper::before {\r\n    height: 100%;\r\n    min-height: 1px;\r\n    width: var(--swiper-centered-offset-after);\r\n  }\r\n  .swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\r\n    margin-block-start: var(--swiper-centered-offset-before);\r\n  }\r\n  .swiper-centered.swiper-vertical > .swiper-wrapper::before {\r\n    width: 100%;\r\n    min-width: 1px;\r\n    height: var(--swiper-centered-offset-after);\r\n  }\r\n  .swiper-lazy-preloader {\r\n    width: 42px;\r\n    height: 42px;\r\n    position: absolute;\r\n    left: 50%;\r\n    top: 50%;\r\n    margin-left: -21px;\r\n    margin-top: -21px;\r\n    z-index: 10;\r\n    transform-origin: 50%;\r\n    box-sizing: border-box;\r\n    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\r\n    border-radius: 50%;\r\n    border-top-color: transparent;\r\n  }\r\n  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,\r\n  swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,\r\n  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {\r\n    animation: swiper-preloader-spin 1s infinite linear;\r\n  }\r\n  .swiper-lazy-preloader-white {\r\n    --swiper-preloader-color: #fff;\r\n  }\r\n  .swiper-lazy-preloader-black {\r\n    --swiper-preloader-color: #000;\r\n  }\r\n  @keyframes swiper-preloader-spin {\r\n    0% {\r\n      transform: rotate(0deg);\r\n    }\r\n    100% {\r\n      transform: rotate(360deg);\r\n    }\r\n  }\r\n\r\n  .swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}\r\n\r\n\r\n  `;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SwiperStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/SwiperStyle.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Tools/Actor.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/Tools/Actor.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Actor)\n/* harmony export */ });\nclass Actor {\n    /**\n     * 计算年龄\n     * @param birthday\n     * @returns\n     */\n    static calcAge(birthday) {\n        const date = new Date(birthday);\n        const now = new Date();\n        let age = now.getFullYear() - date.getFullYear();\n        const month = now.getMonth() - date.getMonth();\n        if (month < 0) {\n            age = age - 1;\n        }\n        return `(${age}岁${Math.abs(month)}个月)`;\n    }\n    /**\n     * 计算cup\n     * @param cup\n     * @returns\n     */\n    static renderCup(cup) {\n        const cups = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\"];\n        return cups\n            .map((c) => {\n            return `<span class='cup ${c === cup ? \"active\" : \"\"}'>${c}</span>`;\n        })\n            .join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Tools/Actor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Tools/GFriends.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/Tools/GFriends.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nclass GFriends {\n    constructor() {\n        /** 头像树 */\n        this.url = \"https://raw.githubusercontent.com/gfriends/gfriends/master/Filetree.json\";\n        this.imageTemp = `https://raw.githubusercontent.com/gfriends/gfriends/master/Content/{Studio}/{Name}`;\n        this._init = false;\n        this.init();\n    }\n    init() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this._init)\n                return;\n            this.actors = {};\n            const data = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fetch(this.url);\n            for (const studio in data.Content) {\n                for (const name in data.Content[studio]) {\n                    const url = data.Content[studio][name].replace(\"AI-Fix-\", \"\");\n                    this.actors[name.replace(\".jpg\", \"\")] = [studio, url];\n                }\n            }\n            this._init = true;\n        });\n    }\n    /**\n     * 获取演员头像\n     * @param name\n     * @returns\n     */\n    getActor(name) {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.init();\n            const actor = this.actors[name];\n            if (actor)\n                return this.imageTemp.replace(\"{Studio}\", actor[0]).replace(\"{Name}\", actor[1]);\n        });\n    }\n}\nGFriends.Instance = () => {\n    if (!GFriends.instance) {\n        GFriends.instance = new GFriends();\n    }\n    return GFriends.instance;\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GFriends);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Tools/GFriends.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIActor.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIActor.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActor)\n/* harmony export */ });\n/* harmony import */ var _Tools_Actor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/Actor */ \"./src/Injects/CodeFind/Tools/Actor.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _pages_PageActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../pages/PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n/* harmony import */ var _pages_PageRank__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../pages/PageRank */ \"./src/Injects/CodeFind/pages/PageRank.ts\");\n/* harmony import */ var _UICollect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UICollect */ \"./src/Injects/CodeFind/UI/UICollect.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"].add(`\r\n.actor-detail-cover {\r\n    border-radius: 5px;\r\n    height: 300px;\r\n    border: 2px solid var(--mainColor);\r\n    margin: 10px auto;\r\n    display: block;\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n}\r\n\r\n#wie-actor .emby-image {\r\n    padding: 10px;\r\n}\r\n\r\n\r\nwie-card {\r\n    width: 100%;\r\n    display: block;\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--borderColor);\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    padding: 60% 0 0 0;\r\n    background-repeat: no-repeat;\r\n    background-size: 100% auto;\r\n    border-radius: 5px;\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\nwie-card-info {\r\n    background: linear-gradient(0deg, var(--bgColor) 0%, var(--bgColor) 50%, transparent 100%);\r\n    padding: 120px 10px 0;\r\n    display: block;\r\n    line-height: 1.5;\r\n}\r\n\r\n\r\nwie-card-info wie-avatar {\r\n    width: 60px;\r\n    height: 60px;\r\n    position: absolute;\r\n    border-radius: 5px;\r\n}\r\nwie-card-info .name {\r\n    padding-left: 70px;\r\n    font-size: 15px;\r\n    font-weight: 700;\r\n}\r\n\r\n.wie-actor-line.half{\r\n    width: 32%;\r\n}\r\n.wie-actor-line.left{\r\n    padding-left: 70px;\r\n    line-height: 1.2;\r\n}\r\n\r\nwie-card .wie-btn,\r\nwie-card wie-btn{\r\n    margin: 5px 5px 5px 0;\r\n}\r\n\r\n`);\n// @CodeFind.UI(PageActor, \"actor\", \"\", Style)\nclass UIActor extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor(actor, cover, detail = true) {\n        super();\n        this.actor = actor;\n        this.cover = cover;\n        this.detail = detail;\n    }\n    template() {\n        return this.renderActor(this.actor, this.cover);\n    }\n    collect(actor, collect) {\n        const { actors = {} } = this.config.Collect;\n        if (collect) {\n            actors[actor.name] = actor;\n            return false;\n        }\n        else {\n            delete actors[actor.name];\n        }\n        //\n        //更新收藏\n        this.page.inject.updateSetting({ Collect: Object.assign(Object.assign({}, this.config.Collect), { actors }) });\n    }\n    bindEvent(view, ...values) {\n        view.querySelector(\".go_actor\").addEventListener(\"click\", () => {\n            this.page.startPage(_pages_PageActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"], this.actor);\n        });\n        this.addClickListener(view, \".rank\", (e) => {\n            const key = e.currentTarget.getAttribute(\"key\");\n            this.page.startPage(_pages_PageRank__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { key });\n        });\n    }\n    renderActor(actor, cover) {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n        //是否收藏\n        const isCollect = !!((_a = this.config.Collect.actors) === null || _a === void 0 ? void 0 : _a[actor.name]);\n        return `<wie-card style='background-image:url(${(_b = actor.cover) !== null && _b !== void 0 ? _b : cover});${!actor.cover && cover ? \"background-size:cover;\" : \"\"}' >\r\n        <wie-card-info>\r\n            <wie-avatar>\r\n                <img src='${(_c = actor.avatar) !== null && _c !== void 0 ? _c : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/>\r\n            </wie-avatar>\r\n            <div class='name'>${actor.name} ${this.page.ui(_UICollect__WEBPACK_IMPORTED_MODULE_5__[\"default\"], isCollect, this.collect.bind(this, actor))} </div>\r\n            <div class='wie-actor-line left'>\r\n                ${actor.birthday ? `<span>${actor.birthday}${_Tools_Actor__WEBPACK_IMPORTED_MODULE_0__[\"default\"].calcAge(actor.birthday)}</span>` : \"\"}\r\n                ${actor.height ? `<span>${actor.height}cm</span>` : \"--\"}\r\n                <span>${(_d = actor.blood) !== null && _d !== void 0 ? _d : \"\"}</span>\r\n            </div>\r\n        \r\n            <div class='wie-actor-line left'><span class='wie-name'>罩杯:</span><span >${_Tools_Actor__WEBPACK_IMPORTED_MODULE_0__[\"default\"].renderCup(actor.cup)}</span></div>\r\n            <div class='wie-actor-line half'><span class='wie-name'>胸围:</span>\r\n                <span >${(_e = actor.bust) !== null && _e !== void 0 ? _e : \"--\"}</span>\r\n                <span class='rank' key='bust' wie-tooltip='查看胸围排行'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Rank}</span>\r\n            </div>\r\n            <div class='wie-actor-line half'>\r\n                <span class='wie-name'>臀围:</span>\r\n                <span >${(_f = actor.hip) !== null && _f !== void 0 ? _f : \"--\"}</span>\r\n                <span class='rank' key='hip' wie-tooltip='查看臀围排行'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Rank}</span>\r\n            </div>\r\n            <div class='wie-actor-line half'><span class='wie-name'>腰围:</span><span >${(_g = actor.waist) !== null && _g !== void 0 ? _g : \"--\"}</span></div>\r\n            ${actor.alias ? `<div class='wie-actor-line'><span class='wie-name'>别名:</span><span >${actor.alias}</span></div>` : \"\"}\r\n            <div class='wie-actor-line'><span class='wie-name'>爱好:</span><span >${(_h = actor.hobby) !== null && _h !== void 0 ? _h : \"--\"}</span></div>\r\n            <div class='wie-actor-line'><span class='wie-name'>生涯:</span><span >${(_j = actor.time) !== null && _j !== void 0 ? _j : \"--\"}</span></div>\r\n            <div class='wie-actor-line'><span class='wie-name'>标签:</span><span >${(_l = (_k = actor.tags) === null || _k === void 0 ? void 0 : _k.join(\" \")) !== null && _l !== void 0 ? _l : \"--\"}</span></div>\r\n            ${this.detail ? `<wie-btn class='go_actor' >${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Detail} 详情</wie-btn>` : \"\"}\r\n            <a target='_blank' class='wie-btn' href='${actor.link ? actor.link : `https://javdb.com/search?q=${actor.name}&f=actor`}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Detail} JavDB</a>\r\n            <a target='_blank' class='wie-btn' href='https://missav.com/actresses/${actor.name}?sort=views'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Search} Miss</a>\r\n            ${actor.link_m ? `<a class='wie-btn' target='_blank' href='${actor.link_m}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Detail} Msin</a>` : \"\"}\r\n            ${actor.sns ? `<a class='wie-btn' target='_blank' href='${(_m = actor.sns) !== null && _m !== void 0 ? _m : \"#\"}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Detail} SNS</a>` : \"\"}\r\n            ${actor.emby ? `<a class='wie-btn' target='_blank' href='${actor.emby}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Search} Emby</a>` : \"\"}\r\n        </wie-card-info>\r\n    </wie-card>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIActor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIActors.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIActors.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActors)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _UIActor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UIActor */ \"./src/Injects/CodeFind/UI/UIActor.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__[\"default\"].add(`\r\n#wie-actors {\r\n    padding-bottom: 10px;\r\n    position: relative;\r\n}\r\n#wie-actors .swiper-pagination {\r\n    bottom: 10px;\r\n    display: flex;\r\n    padding: 0px 6px;\r\n    box-sizing: border-box;\r\n}\r\n#wie-actors .swiper-pagination-bullet {\r\n    width: 100%;\r\n    border-radius: 0;\r\n    margin: 0 4px !important;\r\n    height: 3px;\r\n    background: var(--mainLightColor);\r\n}\r\n\r\nspan.swiper-pagination-bullet.swiper-pagination-bullet-active {\r\n    background: var(--mainColor);\r\n}\r\n#wie-actors .swiper-slide {\r\n    width: 100%;\r\n    padding:0 10px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n`);\n// @CodeFind.UI(PageCode, \"actors\", void 0, Style)\nclass UIActors extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"actors\", \"cover\"];\n    }\n    template(actors = [], cover) {\n        if (actors && !Array.isArray(actors))\n            actors = [actors];\n        // this.log(\"actorsHtml\", actors);\n        if (actors.length == 0)\n            return;\n        return `<div id='wie-actors' class='swiper-container'>\r\n            <div class='swiper-wrapper'>\r\n                ${actors.map((actor, i) => `<div class='swiper-slide'>${this.page.ui(_UIActor__WEBPACK_IMPORTED_MODULE_2__[\"default\"], actor, cover)}</div>`).join(\"\")}\r\n            </div>\r\n            <div class=\"swiper-pagination\"></div>\r\n        </div>`;\n        //隐藏老卡片\n        // this.renderActors(div, actors);\n        //渲染新卡片\n        // this.renderActorsCard(div, actors, info.cover);\n    }\n    bindEvent(div, actors = [], cover) {\n        if (actors.length == 0)\n            return;\n        var swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\"#wie-actors\"), {\n            spaceBetween: 10,\n            slidesPerView: \"auto\",\n            // watchSlidesProgress: true,\n            pagination: {\n                el: \".swiper-pagination\",\n            },\n            centeredSlides: true,\n            slideToClickedSlide: true,\n        });\n        // //屏蔽所有a标签的冒泡\n        // div.querySelectorAll(\"a\").forEach((a) => {\n        //     a.addEventListener(\"click\", (e) => {\n        //         e.stopPropagation();\n        //     });\n        // });\n        // //绑定事件\n        // div.querySelectorAll(\".go_actor\").forEach((span) => {\n        //     span.addEventListener(\"click\", (e) => {\n        //         const index = Number((e.target as HTMLElement).getAttribute(\"index\"));\n        //         this.page.startPage(PageActor, { ...actors[index] });\n        //     });\n        // });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIActors.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIButtons.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIButtons.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIButtons)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n`);\nclass UIButtons extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\", \"link_JavDB\", \"link_JavLib\"];\n        this.Tag = \"wie-links\";\n    }\n    template(code, JavDB, JavLib) {\n        const { Censored } = this.config.Buttons;\n        // this.log(\"info\", info, this.config);\n        // const { vs = [] } = info;\n        // this.log(\"Censored\", Censored);\n        const links = { JavDB, JavLib };\n        return (Censored.map((item) => {\n            let { 0: name, 1: url } = item;\n            return `<a class='wie-btn' href='${links[name] || url.replace(new RegExp(\"%s\", \"g\"), code)}' target='_blank'>\r\n                            ${links[name] ? _SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Detail : _SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Search}\r\n                            ${name}\r\n                        </a>`;\n        }).join(\"\") + \"<br/>\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIButtons.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UICode.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UICode.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICode)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n\n\nclass UICode extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-code\";\n        this.listens = [\"code\"];\n    }\n    template(value) {\n        return value;\n    }\n    bindEvent(view, value) {\n        this.addClickListener(view, \"self\", (e) => {\n            _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copy(value, \"已复制到剪贴板\");\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UICode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UICollect.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UICollect.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICollect)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar _a;\n\n\n\nconst UnCollect = `<svg t=\"1683546456898\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2366\"><path d=\"M335.008 916.629333c-35.914667 22.314667-82.88 10.773333-104.693333-25.557333a77.333333 77.333333 0 0 1-8.96-57.429333l46.485333-198.24a13.141333 13.141333 0 0 0-4.021333-12.864l-152.16-132.586667c-31.605333-27.52-35.253333-75.648-8.234667-107.733333a75.68 75.68 0 0 1 51.733333-26.752L354.848 339.2c4.352-0.362667 8.245333-3.232 10.026667-7.594667l76.938666-188.170666c16.032-39.2 60.618667-57.92 99.52-41.461334a76.309333 76.309333 0 0 1 40.832 41.461334l76.938667 188.16c1.781333 4.373333 5.674667 7.253333 10.026667 7.605333l199.712 16.277333c41.877333 3.413333 72.885333 40.458667 69.568 82.517334a76.938667 76.938667 0 0 1-26.08 51.978666l-152.16 132.586667c-3.541333 3.082667-5.141333 8.074667-4.021334 12.853333l46.485334 198.24c9.621333 41.013333-15.36 82.336-56.138667 92.224a75.285333 75.285333 0 0 1-57.525333-9.237333l-170.976-106.24a11.296 11.296 0 0 0-12.010667 0l-170.986667 106.24zM551.786667 756.032l170.976 106.24c2.624 1.621333 5.717333 2.122667 8.650666 1.408 6.410667-1.557333 10.56-8.426667 8.928-15.424l-46.485333-198.24a77.141333 77.141333 0 0 1 24.277333-75.733333L870.293333 441.706667c2.485333-2.165333 4.053333-5.312 4.330667-8.746667 0.565333-7.136-4.490667-13.173333-10.976-13.696l-199.712-16.288a75.989333 75.989333 0 0 1-64.064-47.168l-76.938667-188.16a12.309333 12.309333 0 0 0-6.538666-6.741333c-5.898667-2.496-12.725333 0.373333-15.328 6.741333l-76.949334 188.16a75.989333 75.989333 0 0 1-64.064 47.168l-199.701333 16.288a11.68 11.68 0 0 0-7.978667 4.181333 13.226667 13.226667 0 0 0 1.333334 18.261334l152.16 132.586666a77.141333 77.141333 0 0 1 24.277333 75.733334l-46.485333 198.229333a13.333333 13.333333 0 0 0 1.514666 9.877333c3.488 5.792 10.581333 7.530667 16.064 4.128l170.986667-106.229333a75.296 75.296 0 0 1 79.562667 0z\" p-id=\"2367\"></path></svg>`;\nconst Collect = `<svg t=\"1683546492805\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2511\"><path d=\"M335.008 916.629333c-35.914667 22.314667-82.88 10.773333-104.693333-25.557333a77.333333 77.333333 0 0 1-8.96-57.429333l46.485333-198.24a13.141333 13.141333 0 0 0-4.021333-12.864l-152.16-132.586667c-31.605333-27.52-35.253333-75.648-8.234667-107.733333a75.68 75.68 0 0 1 51.733333-26.752L354.848 339.2c4.352-0.362667 8.245333-3.232 10.026667-7.594667l76.938666-188.170666c16.032-39.2 60.618667-57.92 99.52-41.461334a76.309333 76.309333 0 0 1 40.832 41.461334l76.938667 188.16c1.781333 4.373333 5.674667 7.253333 10.026667 7.605333l199.712 16.277333c41.877333 3.413333 72.885333 40.458667 69.568 82.517334a76.938667 76.938667 0 0 1-26.08 51.978666l-152.16 132.586667c-3.541333 3.082667-5.141333 8.074667-4.021334 12.853333l46.485334 198.24c9.621333 41.013333-15.36 82.336-56.138667 92.224a75.285333 75.285333 0 0 1-57.525333-9.237333l-170.976-106.24a11.296 11.296 0 0 0-12.010667 0l-170.986667 106.24z\" p-id=\"2512\"></path></svg>`;\n(_a = _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_addStyle) === null || _a === void 0 ? void 0 : _a.call(_Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `\r\nwie-collect{\r\n    cursor: pointer;\r\n}\r\n\r\nwie-collect svg{\r\n    width: 20px;\r\n    height: 20px;\r\n    vertical-align: bottom;\r\n}\r\n\r\nwie-collect input {\r\n    display: none !important;\r\n}\r\n\r\nwie-collect input:checked + label svg {\r\n    fill: hsl(0deg 100% 50%);\r\n    stroke: hsl(0deg 100% 50%);\r\n    animation: heartButton 1s;\r\n}\r\n\r\n@keyframes heartButton {\r\n0% {\r\n    transform: scale(1);\r\n}\r\n\r\n25% {\r\n    transform: scale(1.3);\r\n}\r\n\r\n50% {\r\n    transform: scale(1);\r\n}\r\n\r\n75% {\r\n    transform: scale(1.3);\r\n}\r\n\r\n100% {\r\n    transform: scale(1);\r\n}\r\n}\r\n`);\n// @CodeFind.UI(PageCode, \"UICollect\")\nclass UICollect extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(collect, call) {\n        super(\"code\");\n        this.listens = [\"code\"];\n        this.Tag = \"wie-collect\";\n        this.isCollect = collect;\n        this.call = call;\n    }\n    // listen(collect: boolean, call: (collect: boolean) => void) {\n    //     this.isCollect = collect;\n    //     this.call = call;\n    //     return this;\n    // }\n    template(code) {\n        var _a;\n        const isCollect = (_a = this.isCollect) !== null && _a !== void 0 ? _a : this.page.isCollect(this.data);\n        const id = \"favorite\" + _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].randomString(5);\n        return `<input type=\"checkbox\" ${isCollect ? \"checked\" : \"\"} id=\"${id}\" name=\"favorite-checkbox\" value=\"favorite-button\">\r\n        <label for=\"${id}\">\r\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-heart\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path></svg>\r\n        </label>`;\n    }\n    bindEvent(div, code) {\n        //\n        // this.changeCollect(div, info);\n        // const isCollect = this.isCollect ?? this.page.isCollect(info);\n        // const id = \"favorite\" + Tool.randomString(5);\n        // div.innerHTML = `<input type=\"checkbox\" ${isCollect ? \"checked\" : \"\"} id=\"${id}\" name=\"favorite-checkbox\" value=\"favorite-button\">\n        // <label for=\"${id}\">\n        //   <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-heart\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path></svg>\n        // </label>`;\n        // this.addClickListener(div, \"label\", (e) => {\n        //     //切换收藏\n        //     // this.page.collect(info);\n        //     this.log(\"点击收藏\", info, e.target);\n        //     // this.changeCollect(e.target, info);\n        // });\n        div.querySelector(\"input\").addEventListener(\"change\", (e) => {\n            const checked = e.target.checked;\n            if (this.call) {\n                let ret = this.call(checked);\n                // if (ret === false) (e.target as HTMLInputElement).checked = !checked;\n            }\n            else {\n                // this.log(\"点击收藏\", this.data, checked, e.target, this.page.isCollect(this.data));\n                this.page.collect(this.data);\n                // this.log(\"点击收藏 结果\", this.page.isCollect(this.data));\n            }\n        });\n    }\n    changeCollect(div, info) {\n        div.innerHTML = this.page.isCollect(info) ? Collect : UnCollect;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UICollect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIComment.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIComment.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIComment)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\n// @WieSearch.UI(PageSearch, \"comment\")\n// @CodeFind.UI(PageCode, \"comment\")\nclass UIComment extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"comment\"];\n    }\n    template(comment = []) {\n        comment = comment.sort((a, b) => {\n            return new Date(a.time).getTime() > new Date(b.time).getTime() ? -1 : 1;\n        });\n        return comment\n            .map((item) => {\n            return `\r\n                <wie-comment>\r\n                    <div class='wie-comment-title'>\r\n                        <div class='wie-comment-name'>${item.from.replace(\"_C\", \"\")}</div>\r\n                        <div class='wie-comment-date'>${item.time}</div>\r\n                    </div>\r\n                    <div class='wie-comment-content'>${item.comment}</div>\r\n                </wie-comment>\r\n                `;\n        })\n            .join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIComment.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIEmby.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIEmby.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIEmby)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ICodeInfo */ \"./src/Injects/CodeFind/ICodeInfo.ts\");\n\n\n\nclass UIEmby extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-emby\";\n        this.listens = [\"emby\", \"qt\", \"in115\", \"url115\"];\n        this.bind = false;\n    }\n    template(url, qt, in115, url115) {\n        let innerHTML = ``;\n        if (url) {\n            innerHTML = `<img url=\"${url}\"  src='https://s2.loli.net/2024/03/27/IA2x8LwqUKfDusr.png'/>`;\n        }\n        else if (in115) {\n            innerHTML = `<img url=\"${url115}\" src='https://s2.loli.net/2024/02/21/LEteiTnICdzkqsU.png'/>`;\n        }\n        else if (qt === _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__.QTType.DOWNLOADED) {\n            innerHTML = `<img  src='https://s2.loli.net/2024/03/27/kdXK4aEpQcq51Mt.png'/>`;\n        }\n        else if (qt === _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__.QTType.DOWNLOADING) {\n            innerHTML = `<img  src='https://s2.loli.net/2024/03/27/ykt12oqBedMaNQj.png'/>`;\n        }\n        else {\n            return \"\";\n        }\n        return innerHTML;\n    }\n    bindEvent(view) {\n        if (this.bind)\n            return;\n        this.bind = true;\n        this.addEventListener(view, \"click\", () => {\n            var _a;\n            const url = (_a = view.querySelector(\"img\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"url\");\n            if (!url)\n                return;\n            _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_openInTab(url, { active: true });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIEmby.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIImage.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIImage.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIImage)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _BaseUI_PopupImage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BaseUI/PopupImage */ \"./src/Injects/CodeFind/BaseUI/PopupImage.ts\");\n\n\nclass UIImage extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"image\"];\n        this.bind = false;\n    }\n    template(value) {\n        return `<img id='wie-image' src='${value}' style='width:100%'/>`;\n    }\n    bindEvent(view, image) {\n        this.hidden(view, !image);\n        //更新大图标志\n        const item = this.page.view.querySelector(\"#wie-image-text\");\n        item.style.display = image ? \"inline-block\" : \"none\";\n        if (this.bind === true || !image)\n            return;\n        this.bind = true;\n        this.addEventListener(view, \"click\", () => {\n            new _BaseUI_PopupImage__WEBPACK_IMPORTED_MODULE_1__[\"default\"]().showImage(image);\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIImage.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIMagnet.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIMagnet.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _lib_decorator_bind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/decorator/bind */ \"./src/lib/decorator/bind.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _UIRadio__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UIRadio */ \"./src/Injects/CodeFind/UI/UIRadio.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\nwie-magnet {\r\n    display: block;\r\n    border: 1px solid var(--mainBorderColor);\r\n    padding: 5px 10px;\r\n    margin: 10px 0 0;\r\n    background: var(--bgColor);\r\n    border-radius: 5px;\r\n    position:relative;\r\n}\r\n\r\nwie-magnet-line{\r\n    display: block;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    flex-wrap: wrap;\r\n}\r\n\r\nwie-magnet-line .wie-magnet-magnet {\r\n    margin:0;\r\n}\r\n\r\nwie-magnet-line:nth-child(2){\r\n    margin-top: 5px;\r\n}\r\n\r\nmagnet-item.wie-magnet-from {\r\n  background: var(--mainLightColor);\r\n  color: var(--mainTextColor);\r\n  display: inline-block;\r\n  height: 14px;\r\n  padding: 2px 6px;\r\n  border-radius: 3px;\r\n  line-height: 14px;\r\n  font-size: 10px;\r\n  box-sizing: content-box;\r\n}\r\n\r\n.wie-magnet-title {\r\n    width: 100%;\r\n    font-size: 13px;\r\n    margin: 5px 0 4px;\r\n    color: var(--color);\r\n    word-break: break-all;\r\n}\r\n.wie-magnet-zh{\r\n\r\n}\r\n\r\n\r\nwie-z-tag{\r\n    color: #00b849;\r\n    padding: 1px 4px;\r\n    line-height: 1;\r\n    border: 2px solid #00b849;\r\n    border-radius: 5px;\r\n    font-size: 11px;\r\n    font-weight: bold;\r\n    margin: 0 2px;\r\n    background: #ffffffab;\r\n    backdrop-filter: blur(8px);\r\n}\r\n\r\nwie-z-tag.sub{\r\n    color:#ff6259;\r\n    border: 2px solid #ff6259;\r\n}\r\nwie-z-tag.leak{\r\n    color:#ff8640;\r\n    border: 2px solid #ff8640;\r\n}\r\n\r\nwie-z-tag.false{\r\n    display:none;\r\n}\r\n.wie-tag-wrap{\r\n    position:absolute;\r\n    top:10px;\r\n    right:10px;\r\n}\r\n\r\nwie-z-tag.disabled{\r\n    color: #b5b5b5;\r\n    border-color: #b5b5b5;\r\n}\r\n\r\n`);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _updateFilter_decorators;\n    return _a = class UIMagnet extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.listens = (__runInitializers(this, _instanceExtraInitializers), [\"magnet\", \"finish\"]);\n            }\n            updateCount(count) {\n                const item = this.page.view.querySelector(\"#wie-magnet-count\");\n                if (item && count > 0) {\n                    item.innerHTML = `${count}`;\n                    this.hidden(item, false);\n                }\n                else {\n                    this.hidden(item, true);\n                }\n            }\n            check(tags, value, tag) {\n                var _a;\n                let hasFilter = Object.keys((_a = this.filters) !== null && _a !== void 0 ? _a : {}).length !== 0;\n                if (!!value) {\n                    tags.add(tag);\n                }\n                else {\n                    tag = \"\";\n                }\n                if (!hasFilter)\n                    return true;\n                if (this.filters[tag])\n                    return true;\n                return false;\n            }\n            updateFilter(filter) {\n                this.filters = filter;\n                this.refresh();\n            }\n            template(magnet = [], finish = false) {\n                let tags = new Set();\n                if (finish && magnet.length === 0)\n                    return `<wie-null>未找到磁链</wie-null>`;\n                if (!finish && magnet.length === 0)\n                    return `<wie-null>正在查找</wie-null>`;\n                const list = magnet.map((item) => {\n                    let sub = this.check(tags, item.sub, \"中文字幕\");\n                    let leak = this.check(tags, item.leak, \"无码破解\");\n                    let uhd = this.check(tags, item.uhd, \"4K\");\n                    if (!sub && !leak && !uhd)\n                        return \"\";\n                    return `\r\n            <wie-magnet>\r\n                <wie-magnet-line>\r\n                <magnet-item class='wie-magnet-title'>${item.name}</magnet-item>\r\n                    \r\n                    <magnet-item class='wie-magnet-size'>${item.size}</magnet-item>\r\n                    <magnet-item class='wie-magnet-date'>${item.time}</magnet-item>\r\n                </wie-magnet-line>\r\n                <wie-magnet-line>\r\n                <div>\r\n                <magnet-item class='wie-magnet-from'>${item.from}</magnet-item>\r\n                <wie-z-tag class='${!!item.sub} sub'>中文字幕</wie-z-tag>\r\n                <wie-z-tag class='${!!item.uhd} 4k'>4K</wie-z-tag>\r\n                <wie-z-tag class='${!!item.leak} leak'>无码破解</wie-z-tag>\r\n                </div>\r\n                    <div>\r\n                        <wie-btn class='wie-magnet-magnet' magnet='${item.magnet}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Copy} 复制链接</wie-btn>\r\n                        <a href='${item.magnet}' class='wie-btn' target='_blank' referrerpolicy='same-origin'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Download} 下载</a>\r\n                    </div>\r\n                </wie-magnet-line>\r\n                <div class='wie-tag-wrap'>\r\n                       \r\n                    </div>\r\n            </wie-magnet>\r\n            `;\n                });\n                return `\r\n        ${this.page.ui(_UIRadio__WEBPACK_IMPORTED_MODULE_5__[\"default\"], Array.from(tags), this.filters, this.updateFilter)}\r\n        ${list.join(\"\")}\r\n        `;\n            }\n            bindEvent(div, magnet = []) {\n                this.updateCount(magnet.length);\n                div.querySelectorAll(\".wie-magnet-magnet\").forEach((item) => {\n                    item.addEventListener(\"click\", (e) => {\n                        const magnet = item.getAttribute(\"magnet\");\n                        if (magnet) {\n                            _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copy(magnet, \"复制成功\");\n                        }\n                    });\n                });\n            }\n        },\n        (() => {\n            _updateFilter_decorators = [_lib_decorator_bind__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\n            __esDecorate(_a, null, _updateFilter_decorators, { kind: \"method\", name: \"updateFilter\", static: false, private: false, access: { has: obj => \"updateFilter\" in obj, get: obj => obj.updateFilter } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIMagnet.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIPreview.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIPreview.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIPreview)\n/* harmony export */ });\n/* harmony import */ var _BaseUI_PopupImages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../BaseUI/PopupImages */ \"./src/Injects/CodeFind/BaseUI/PopupImages.ts\");\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\n\nclass UIPreview extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-preview\";\n        this.listens = [\"preview\", \"cover\"];\n    }\n    template(preview = [], cover) {\n        // const html = preview\n        //     .map((url, index: number) => {\n        //         return `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`;\n        //     })\n        //     .join(\"\");\n        // // return html;\n        // div.innerHTML = html;\n        // var swiper = new Swiper(div.parentElement, {\n        //     slidesPerView: 3.5,\n        //     spaceBetween: 10,\n        //     pagination: {\n        //         el: div.querySelector(\".swiper-pagination\") as HTMLElement,\n        //         clickable: true,\n        //     },\n        // });\n        // this.showImage(preview, div, \".wie-preview-img\");\n        //检测是否还有\n        // const imagesView = root.querySelector<HTMLElement>(\"#wie-images\");\n        // if (!imagesView) return;\n        if (cover)\n            preview = [cover, ...preview];\n        return preview\n            .map((url, index) => {\n            return `<img class='wie-preview-img' alt=\"\" index='${index}' src='${url}'/>`;\n        })\n            .join(\"\");\n        // this.showImage(preview, div, \".wie-preview-img\");\n    }\n    bindEvent(div, preview, cover) {\n        if (cover)\n            preview = [cover, ...preview];\n        div.querySelectorAll(\".wie-preview-img\").forEach((img) => {\n            this.addEventListener(img, \"click\", (e) => {\n                const url = img.getAttribute(\"index\");\n                new _BaseUI_PopupImages__WEBPACK_IMPORTED_MODULE_0__[\"default\"]().showImage(preview, Number(url));\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIPreview.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIRadio.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIRadio.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIRadio)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\nwie-radio{\r\n    padding: 10px 0 0;\r\n    display: block;\r\n}\r\n\r\n`);\nclass UIRadio extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(keys, selects, call) {\n        super();\n        this.keys = [];\n        this.selects = {};\n        this.Tag = \"wie-radio\";\n        this.keys = keys;\n        //默认为全部选中\n        this.selects = selects !== null && selects !== void 0 ? selects : {};\n        this.call = call;\n    }\n    template() {\n        const { keys, selects } = this;\n        return `${keys.map((key) => `<wie-z-tag class='${!!selects[key] ? \"\" : \"disabled\"}' value='${key}'>${key}</wie-z-tag>`).join(\"\")}`;\n    }\n    bindEvent(view) {\n        this.addClickListener(view, \"wie-z-tag\", (e) => {\n            const item = e.target;\n            let value = e.target.getAttribute(\"value\");\n            this.select(item, value);\n        });\n    }\n    select(item, value) {\n        if (this.selects[value]) {\n            item.classList.remove(\"false\");\n            delete this.selects[value];\n        }\n        else {\n            item.classList.add(\"true\");\n            this.selects[value] = true;\n        }\n        this.call(this.selects);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIRadio.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIScore.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIScore.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIScore)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\nconst Icon = `<svg t=\"1711356866810\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5282\" width=\"256\" height=\"256\"><path d=\"M700.74 612.31l23.75 139.37a50.31 50.31 0 0 1-5.1 32.49 46.5 46.5 0 0 1-6.15 8.76 49.45 49.45 0 0 1-38.75 18.75c-7.5 0-15-1.87-23.12-6.25l-126.25-66.25a24.65 24.65 0 0 0-12.5-3.12 37 37 0 0 0-12.5 2.5L374.5 805.43a45 45 0 0 1-23.75 6.25 53.17 53.17 0 0 1-39.37-18.12c-10-11.25-13.75-26.25-11.25-41.25l24.37-140a28 28 0 0 0-8.13-23.75l-101.24-98.12a50 50 0 0 1-13.13-52.5 51.45 51.45 0 0 1 33.22-33.06 51.6 51.6 0 0 1 5.43-1.45c0.85-0.19 1.71-0.35 2.58-0.49l140-20.62c8.75-1.25 16.87-6.88 20.62-14.38l62.5-127.5a51.07 51.07 0 0 1 91.25 0l62.5 127.5a27.38 27.38 0 0 0 20.62 14.38l140 20.62A52 52 0 0 1 822 437.32a51 51 0 0 1-12.5 52.49l-100.63 98.75c-6.87 6.25-9.38 15-8.13 23.75z\" fill=\"#FF6259\" p-id=\"5283\"></path><path d=\"M719.39 784.17a46.5 46.5 0 0 1-6.15 8.76 49.45 49.45 0 0 1-38.75 18.75c-7.5 0-15-1.87-23.12-6.25l-126.25-66.25a24.65 24.65 0 0 0-12.5-3.12 37 37 0 0 0-12.5 2.5L374.5 805.43a45 45 0 0 1-23.75 6.25 53.17 53.17 0 0 1-39.37-18.12c-10-11.25-13.75-26.25-11.25-41.25l24.37-140a28 28 0 0 0-8.13-23.75l-101.24-98.12a50 50 0 0 1-13.13-52.5 51.45 51.45 0 0 1 33.22-33.06C263 464 364.15 527.69 374.08 567.26c14.58 58.08-40.07 167.43-22.2 185.3s113-73 163-73c38.53 0 141 74.5 204.51 104.61z\" fill=\"#FA564B\" p-id=\"5284\"></path><path d=\"M627 543.46a30 30 0 0 1-28.8-15.22l-32.4-57.8a30 30 0 0 1 52.34-29.33l32.4 57.79A30 30 0 0 1 639 539.74a29.7 29.7 0 0 1-12 3.72z\" fill=\"#FFFFFF\" p-id=\"5285\"></path><path d=\"M335.28 340.35a20 20 0 0 0 15-28.59l-3.49-7.12a39 39 0 0 0-69.68 0l-6.66 13.59a20 20 0 0 0 20.87 28.59zM732.62 346.82a20 20 0 0 0 20.88-28.59l-6.66-13.59a39 39 0 0 0-69.68 0l-3.5 7.12a20 20 0 0 0 15.05 28.59zM862.33 570.46l76.83-75.4a38.92 38.92 0 0 0 9.55-40.06 39.7 39.7 0 0 0-31.5-26.25L898.68 426a20 20 0 0 0-22.89 20.54 94.43 94.43 0 0 1-27.86 70.07l-96.45 94.65a20 20 0 0 0-5.71 17.64L757 695a20 20 0 0 0 10.43 14.35l51 26.75a36.44 36.44 0 0 0 17.66 4.77 37.78 37.78 0 0 0 29.59-14.32c7.63-8.59 10.5-20 8.59-31.5L856.12 588.6a20.12 20.12 0 0 1 6.21-18.14zM279.46 629L268 694.86a20 20 0 0 1-10.3 14.22l-8.91 4.75L207 736.07a34.37 34.37 0 0 1-18.13 4.77A40.62 40.62 0 0 1 158.8 727c-7.64-8.59-10.5-20-8.59-31.5l18.61-106.9a21.42 21.42 0 0 0-6.2-18.14l-77.31-74.93a38.14 38.14 0 0 1-10-40.08 39.45 39.45 0 0 1 31.5-26.73l18.53-2.72a19.68 19.68 0 0 1 4.65-0.14 20 20 0 0 1 18.24 20.71 93.26 93.26 0 0 0 29 71.22l96.43 93.45a20 20 0 0 1 5.8 17.76z\" fill=\"#FF8640\" p-id=\"5286\"></path><path d=\"M279.46 629L268 694.86a20 20 0 0 1-10.3 14.22l-8.91 4.75c11.84-25 21.13-79.13 21.23-85.39 0.14-9.12-80.14-78.88-116.14-113.22-22.29-21.25-25-61.67-23.89-89.37a20 20 0 0 1 18.24 20.71 93.26 93.26 0 0 0 29 71.22l96.43 93.45a20 20 0 0 1 5.8 17.77zM745.79 629l11.46 65.83a20 20 0 0 0 10.3 14.22l8.91 4.75c-11.84-25-21.13-79.13-21.23-85.39-0.14-9.12 80.14-78.88 116.14-113.22 22.29-21.25 25-61.67 23.89-89.37A20 20 0 0 0 877 446.56a93.26 93.26 0 0 1-29 71.22l-96.43 93.45a20 20 0 0 0-5.78 17.77z\" fill=\"#FA7932\" p-id=\"5287\"></path></svg>`;\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\nwie-score{\r\n    margin-left:5px;\r\n}\r\nwie-score svg{\r\n    width: 20px !important;\r\n    height: 20px !important;\r\n    vertical-align: middle;\r\n}\r\nwie-score span {\r\n    display: inline-block;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    vertical-align: middle;\r\n}\r\nwie-score span:nth-child(2) {\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n    margin: 0 4px;\r\n}\r\n`);\nclass UIScore extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(title = \"JavDB\", listen = \"score\") {\n        super(listen);\n        this.Tag = \"wie-score\";\n        this.title = title;\n    }\n    template(score) {\n        if (!score)\n            return;\n        let html = `${Icon}<span>${score.score}</span><span>| ${this.title}${score.num > 0 ? ` | ${score.num}人点评` : \"\"}</span>`;\n        return html;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIScore.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UISeries.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UISeries.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISeries)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\nclass UISeries extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"series\"];\n    }\n    template(series) {\n        if (!series)\n            return;\n        return `<a target=\"_blank\" href='${series.url}'>${series.name}</a>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UISeries.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIStat.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIStat.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIStat)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\nclass UIStat extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"span\";\n        this.listens = [\"code\"];\n    }\n    template() {\n        // div.querySelector(\"#wie-search\").innerHTML = this.find.searchInfo.search + \"\";\n        // div.querySelector(\"#wie-view\").innerHTML = this.find.searchInfo.view + \"\";\n        const { search, view } = this.page.inject.searchInfo;\n        return `\r\n            <wie-info class='wie-info-count'>番号检索<span id='wie-search-num'>${search}</span>,浏览<span id='wie-view'>${view}</span>次</wie-info>\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIStat.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIStudio.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIStudio.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIStudio)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-studio{\r\n    position:absolute;\r\n    bottom:10px;\r\n    right:10px;\r\n    height:50px;\r\n}\r\n.wie-studio img{\r\n    height: 100%;\r\n    border-radius: 4px;\r\n    filter: drop-shadow(2px 2px 2px rgba(0,0,0,.1));\r\n    border: 1px solid var(--mainColor);\r\n}\r\n`);\nconst StudioConfigs = {\n    本中: \"https://image.memojav.com/image/studio/hon-naka.jpg\",\n    Attackers: \"https://image.memojav.com/image/studio/attackers.jpg\",\n    AVS: \"https://image.memojav.com/image/studio/avs-collectors.jpg\",\n    \"Baby Entertainment\": \"https://image.memojav.com/image/studio/babyentertainment.jpg\",\n    BeFree: \"https://image.memojav.com/image/studio/befree.jpg\",\n    ビビアン: \"https://image.memojav.com/image/studio/bibian.jpg\",\n    // \"Bonita/Mousozoku\": \"https://image.memojav.com/image/studio/bonitamousozoku.jpg\",\n    セレブの友: \"https://image.memojav.com/image/studio/celebrity-friend.jpg\",\n    美: \"https://image.memojav.com/image/studio/chijo-heaven.jpg\",\n    \"Crystal Video\": \"https://image.memojav.com/image/studio/crystal-picture.jpg\",\n    DAHLIA: \"https://image.memojav.com/image/studio/dahlia.jpg\",\n    DANDY: \"https://image.memojav.com/image/studio/dandy.jpg\",\n    \"ダスッ!\": \"https://image.memojav.com/image/studio/das.jpg\",\n    ディープス: \"https://image.memojav.com/image/studio/deeps.jpg\",\n    \"E-BODY\": \"https://image.memojav.com/image/studio/e-body.jpg\",\n    FALENO: \"https://image.memojav.com/image/studio/faleno.jpg\",\n    Fitch: \"https://image.memojav.com/image/studio/fitch.jpg\",\n    \"Glory Quest\": \"https://image.memojav.com/image/studio/glory-quest.jpg\",\n    はじめ企画: \"https://image.memojav.com/image/studio/hajime-kikaku.jpg\",\n    変態紳士倶楽部: \"https://image.memojav.com/image/studio/hentai-shinshi-club.jpg\",\n    ROYAL: \"https://image.memojav.com/image/studio/hhh-group.jpg\",\n    HMJM: \"https://image.memojav.com/image/studio/hmjm.jpg\",\n    Hunter: \"https://image.memojav.com/image/studio/hunter.jpg\",\n    \"I.B.WORKS\": \"https://image.memojav.com/image/studio/ibworks.jpg\",\n    \"IDEA POCKET\": \"https://image.memojav.com/image/studio/idea-pocket.jpg\",\n    \"犬/妄想族\": \"https://image.memojav.com/image/studio/inumousozoku.jpg\",\n    JET映像: \"https://image.memojav.com/image/studio/jet-eizo.jpg\",\n    \"ケイ・エム・プロデュース\": \"https://image.memojav.com/image/studio/kmproduce.jpg\",\n    kawaii: \"https://image.memojav.com/image/studio/kawaii.jpg\",\n    \"kira☆kira\": \"https://image.memojav.com/image/studio/kira-kira.jpg\",\n    Emanuel: \"https://image.memojav.com/image/studio/ksb-planningemanuel.jpg\",\n    LUNATICS: \"https://image.memojav.com/image/studio/lunatics.jpg\",\n    えむっ娘ラボ: \"https://image.memojav.com/image/studio/m-girls-lab.jpg\",\n    エムズビデオグループ: \"https://image.memojav.com/image/studio/ms-video-group.jpg\",\n    \"マドンナ(Madonna)\": \"https://image.memojav.com/image/studio/madonna.jpg\",\n    マックスエー: \"https://image.memojav.com/image/studio/max-a.jpg\",\n    MEGAMI: \"https://image.memojav.com/image/studio/megami.jpg\",\n    ミル: \"https://image.memojav.com/image/studio/milu.jpg\",\n    MOODYZ: \"https://image.memojav.com/image/studio/moodyz.jpg\",\n    山と空: \"https://image.memojav.com/image/studio/mountains-and-skydelusion-group.jpg\",\n    無垢: \"https://image.memojav.com/image/studio/muku.jpg\",\n    \"Nagae Style\": \"https://image.memojav.com/image/studio/nagae-style.jpg\",\n    ナチュラルハイ: \"https://image.memojav.com/image/studio/natural-high.jpg\",\n    OPPAI: \"https://image.memojav.com/image/studio/oppai.jpg\",\n    プラネットプラス: \"https://image.memojav.com/image/studio/planet-plus.jpg\",\n    プレミアム: \"https://image.memojav.com/image/studio/premium.jpg\",\n    \"PRESTIGE,プレステージ\": \"https://image.memojav.com/image/studio/prestige.jpg\",\n    \"かぐや姫Pt/妄想族\": \"https://image.memojav.com/image/studio/princess-kaguya-ptmousouzoku.jpg\",\n    ROOKIE: \"https://image.memojav.com/image/studio/rookie.jpg\",\n    \"S1 NO.1 STYLE\": \"https://image.memojav.com/image/studio/s1-no1-style.jpg\",\n    \"サディヴィレナウ!\": \"https://image.memojav.com/image/studio/sadistic-village-now!.jpg\",\n    SODクリエイト: \"https://image.memojav.com/image/studio/sod-create.jpg\",\n    スパークビジョン: \"https://image.memojav.com/image/studio/supa-kubijon.jpg\",\n    溜池ゴロー: \"https://image.memojav.com/image/studio/tameike-goro.jpg\",\n    TMA: \"https://image.memojav.com/image/studio/tma.jpg\",\n    ワンズファクトリー: \"https://image.memojav.com/image/studio/wanz-factory.jpg\",\n};\nclass UIStudio extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"studio\"];\n        // bindEvent(view: HTMLElement, studio: string): void {\n        //     // view.querySelector(\"wie-btn-item\").addEventListener(\"click\"()=>)\n        //     this.addClickListener(view, \"wie-btn-item\", (e) => {\n        //         Tool.copy(studio, \"已复制\");\n        //     });\n        // }\n    }\n    template(studio) {\n        let image = \"\";\n        if (StudioConfigs[studio])\n            image += `<div class='wie-studio'><img src=${StudioConfigs[studio]} /></div>`;\n        return `${studio} ${image}`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIStudio.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UISubs.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UISubs.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISubs)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\nclass UISubs extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"subs\"];\n    }\n    template(value = []) {\n        if (value.length === 0) {\n            return \"暂无字幕\";\n        }\n        return value\n            .map(({ name, href }) => {\n            return ` <a class='wie-btn' href='${href}' target='_blank'>\r\n                    ${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Download}\r\n                    ${name}\r\n                </a>`;\n        })\n            .join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UISubs.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UISyncsProgress.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/UI/UISyncsProgress.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISyncsProgress)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/WSE/plugin/MPSyncs */ \"./src/lib/WSE/plugin/MPSyncs.ts\");\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\nwie-progress {\r\n    --animation: 2s ease-in-out infinite;\r\n    position: absolute;\r\n    bottom: 0px;\r\n    left: 10px;\r\n    width: 210px;\r\n    height: 40px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    z-index: 1;\r\n    overflow: visible hidden;\r\n    transition: all 300ms cubic-bezier(.45, 1, .4, 1);\r\n    border-radius:10px 10px 0 0;\r\n    background: #ffffff00;\r\n  \r\n  }\r\n\r\n  wie-progress:hover{\r\n    height:400px;\r\n    background: #ffffffe0;\r\n    filter: drop-shadow(0 0 20px rgba(0,0,0, 0.1));\r\n }\r\n\r\n\r\n  wie-progress .w-title{\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    font-weight: bolder;\r\n    border-bottom: 1px solid var(--mainColor);\r\n  }\r\n  wie-progress .w-title>span{\r\n    display: block;\r\n    height: 40px;\r\n    line-height: 40px;\r\n  }\r\n  \r\n  wie-progress .wie-loader-circle {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    position: relative;\r\n    width: 20px;\r\n    height: 20px;\r\n    border: solid 2px var(--mainColor);\r\n    border-radius: 50%;\r\n    margin: 0 10px;\r\n    background-color: transparent;\r\n    animation: circle-keys var(--animation);\r\n  }\r\n  \r\n  wie-progress .wie-loader-circle .dot {\r\n    position: absolute;\r\n    transform: translate(-50%, -50%);\r\n    width: 16px;\r\n    height: 16px;\r\n    border-radius: 50%;\r\n    background-color: var(--mainColor);\r\n    animation: dot-keys var(--animation);\r\n  }\r\n  \r\n  wie-progress .wie-loader-circle .outline {\r\n    position: absolute;\r\n    transform: translate(-50%, -50%);\r\n    width: 20px;\r\n    height: 20px;\r\n    border-radius: 50%;\r\n    animation: outline-keys var(--animation);\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(2) {\r\n    animation-delay: 0.3s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(3) {\r\n    animation-delay: 0.6s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(4) {\r\n    animation-delay: 0.9s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(5) {\r\n    animation-delay: 1.2s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(2) .dot {\r\n    animation-delay: 0.3s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(3) .dot {\r\n    animation-delay: 0.6s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(4) .dot {\r\n    animation-delay: 0.9s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(5) .dot {\r\n    animation-delay: 1.2s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(1) .outline {\r\n    animation-delay: 0.9s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(2) .outline {\r\n    animation-delay: 1.2s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(3) .outline {\r\n    animation-delay: 1.5s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(4) .outline {\r\n    animation-delay: 1.8s;\r\n  }\r\n  \r\n  .wie-loader-circle:nth-child(5) .outline {\r\n    animation-delay: 2.1s;\r\n  }\r\n  \r\n  @keyframes circle-keys {\r\n    0% {\r\n      transform: scale(1);\r\n      opacity: 1;\r\n    }\r\n  \r\n    50% {\r\n      transform: scale(1.5);\r\n      opacity: 0.5;\r\n    }\r\n  \r\n    100% {\r\n      transform: scale(1);\r\n      opacity: 1;\r\n    }\r\n  }\r\n  \r\n  @keyframes dot-keys {\r\n    0% {\r\n      transform: scale(1);\r\n    }\r\n  \r\n    50% {\r\n      transform: scale(0);\r\n    }\r\n  \r\n    100% {\r\n      transform: scale(1);\r\n    }\r\n  }\r\n  \r\n  @keyframes outline-keys {\r\n    0% {\r\n      transform: scale(0);\r\n      outline: solid 20px var(--mainColor);\r\n      outline-offset: 0;\r\n      opacity: 1;\r\n    }\r\n  \r\n    100% {\r\n      transform: scale(1);\r\n      outline: solid 0 transparent;\r\n      outline-offset: 20px;\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n\r\n  wie-progress .wie-scroll{\r\n    overflow:hidden auto;\r\n  }\r\n\r\n\r\n\r\n  wie-progress .w-title{\r\n    text-align: center;\r\n    font-size: 12px;\r\n    font-weight: bolder;\r\n  }\r\n\r\n  wie-progress .des{\r\n    font-size: 10px;\r\n    padding: 5px;\r\n  }\r\n\r\n  wie-progress .w-tags{\r\n    padding: 0px 0 0 5px !important;\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    justify-content: space-around;\r\n\r\n  }\r\n\r\n  wie-load-item{\r\n    width: 100%;\r\n    padding: 2px 5px;\r\n    font-size: 10px;\r\n    font-weight: bold;\r\n    color: #FFF;\r\n    margin: 0 5px 5px 0;\r\n    display: inline-block;\r\n    border-radius: 4px;\r\n    border: 1px solid var(--mainColor);\r\n    color: var(--mainColor);\r\n  }\r\n  wie-load-item.state_3{\r\n    color:#fff;\r\n    border:none;\r\n  }\r\n  wie-load-item.state_3>a{\r\n    color:#fff;\r\n  }\r\n  wie-load-item.state_1 svg{\r\n    animation: swiper-preloader-spin 1s infinite linear;\r\n  }\r\n  wie-load-item svg {\r\n    width: 12px;\r\n    height: 12px;\r\n    vertical-align: middle;\r\n } \r\n wie-load-item>span {\r\n    float: right;\r\n}\r\nwie-load-item>a {\r\n    color: var(--mainColor);\r\n}\r\n`);\nconst Colors = { [_lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__.SyncState.Fail]: \"red\" };\nconst Icons = {\n    [_lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__.SyncState.Success]: `<svg t=\"1711170798886\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8654\" width=\"256\" height=\"256\"><path d=\"M837.12 837.12c-179.2 179.2-471.04 179.2-652.8 0s-179.2-471.04 0-652.8 471.04-179.2 652.8 0 181.76 473.6 0 652.8z\" fill=\"#02CC67\" p-id=\"8655\"></path><path d=\"M463.36 729.6c-10.24 0-20.48-5.12-28.16-12.8l-174.08-179.2c-15.36-15.36-15.36-40.96 0-56.32 15.36-15.36 40.96-15.36 56.32 0l145.92 151.04 284.16-279.04c15.36-15.36 40.96-15.36 56.32 0 15.36 15.36 15.36 40.96 0 56.32L491.52 716.8c-7.68 10.24-17.92 12.8-28.16 12.8z\" fill=\"#FFFFFF\" p-id=\"8656\"></path></svg>`,\n    [_lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__.SyncState.Fail]: `<svg t=\"1711170775986\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6394\" width=\"256\" height=\"256\"><path d=\"M512.8 512m-423 0a423 423 0 1 0 846 0 423 423 0 1 0-846 0Z\" fill=\"#FF7575\" p-id=\"6395\"></path><path d=\"M481.3 590.7c5.3 15.8 15.8 26.2 31.5 26.2 15.8 0 26.2-10.5 31.5-26.2l21-288.7c0-31.5-26.2-52.5-52.5-52.5-31.5 0-52.5 26.2-52.5 57.8l21 283.4z m31.5 78.8c-31.5 0-52.5 21-52.5 52.5s21 52.5 52.5 52.5 52.5-21 52.5-52.5-21-52.5-52.5-52.5z m0 0\" fill=\"#FFFFFF\" p-id=\"6396\"></path></svg>`,\n    [_lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__.SyncState.Loading]: `<svg t=\"1711170748357\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4321\" width=\"256\" height=\"256\"><path d=\"M511.504516 0C238.129548 0 16.516129 222.174968 16.516129 496.243613 16.516129 770.312258 238.129548 992.487226 511.504516 992.487226 784.879484 992.487226 1006.492903 770.312258 1006.492903 496.243613 1006.492903 222.174968 784.912516 0 511.504516 0L511.504516 0ZM511.504516 942.839742C265.447226 942.839742 65.998452 742.895484 65.998452 496.210581 65.998452 249.525677 265.447226 49.581419 511.504516 49.581419 757.561806 49.581419 957.010581 249.525677 957.010581 496.210581 957.010581 742.895484 757.561806 942.839742 511.504516 942.839742L511.504516 942.839742Z\" fill=\"#ffffff\" p-id=\"4322\"></path><path d=\"M514.708645 281.963355C463.541677 281.963355 412.473806 301.815742 373.46271 341.520516 334.517677 381.192258 314.962581 433.251097 314.962581 485.243871 314.962581 537.236645 334.484645 589.295484 373.46271 628.967226 412.473806 668.672 463.541677 688.524387 514.708645 688.524387 565.809548 688.524387 616.877419 668.672 655.888516 628.967226 694.833548 589.295484 714.355613 537.236645 714.355613 485.243871 714.355613 433.251097 694.833548 381.192258 655.888516 341.520516 616.877419 301.815742 565.809548 281.963355 514.708645 281.963355L514.708645 281.963355ZM529.044645 329.562839C532.380903 316.944516 545.197419 309.380129 557.650581 312.782452 570.136774 316.184774 577.469935 329.199484 574.133677 341.850839 570.797419 354.535226 558.046968 362.099613 545.593806 358.69729 533.107613 355.294968 525.708387 342.280258 529.044645 329.562839L529.044645 329.562839ZM373.198452 546.617806C360.811355 550.053161 347.994839 542.554839 344.658581 529.870452 341.322323 517.186065 348.655484 504.138323 361.141677 500.736 373.627871 497.36671 386.411355 504.865032 389.747613 517.582452 393.083871 530.233806 385.684645 543.215484 373.198452 546.617806L373.198452 546.617806ZM389.615484 392.291097C380.498581 383.009032 380.498581 367.979355 389.615484 358.69729 398.765419 349.415226 413.497806 349.415226 422.61471 358.69729 431.698581 367.979355 431.698581 383.009032 422.61471 392.291097 413.497806 401.606194 398.732387 401.606194 389.615484 392.291097L389.615484 392.291097ZM496.309677 638.282323C492.973419 650.900645 480.156903 658.465032 467.769806 655.06271 455.283613 651.660387 447.884387 638.645677 451.220645 625.994323 454.556903 613.309935 467.373419 605.745548 479.826581 609.147871 492.24671 612.550194 499.645935 625.564903 496.309677 638.282323L496.309677 638.282323ZM444.085677 553.818839C406.197677 515.171097 406.197677 452.674065 444.085677 414.092387 481.973677 375.543742 543.44671 375.543742 581.33471 414.092387 619.22271 452.674065 619.22271 515.204129 581.33471 553.818839 543.44671 592.367484 481.973677 592.367484 444.085677 553.818839L444.085677 553.818839ZM635.837935 609.147871C626.688 618.396903 611.889548 618.396903 602.83871 609.147871 593.721806 599.865806 593.721806 584.803097 602.83871 575.554065 611.922581 566.238968 626.721032 566.238968 635.837935 575.554065 644.888774 584.803097 644.888774 599.832774 635.837935 609.147871L635.837935 609.147871ZM680.761806 437.97471C684.098065 450.692129 676.698839 463.706839 664.212645 467.109161 651.825548 470.478452 639.009032 462.980129 635.672774 450.26271 632.336516 437.611355 639.735742 424.563613 652.155871 421.16129 664.642065 417.825032 677.425548 425.290323 680.761806 437.97471L680.761806 437.97471Z\" fill=\"#ffffff\" p-id=\"4323\"></path><path d=\"M210.085161 197.400774 231.754323 339.406452 268.354065 333.724903 246.684903 191.686194 210.085161 197.400774Z\" fill=\"#d4237a\" p-id=\"4324\"></path><path d=\"M398.005677 863.793548 421.227355 893.22529 530.465032 803.740903 507.243355 774.309161 398.005677 863.793548Z\" fill=\"#ccc30a\" p-id=\"4325\"></path><path d=\"M777.546323 308.983742 764.135226 344.163097 894.117161 395.429161 907.528258 360.249806 777.546323 308.983742Z\" fill=\"#99eafe\" p-id=\"4326\"></path><path d=\"M115.513806 606.637419 246.817032 658.432 260.228129 623.252645 128.924903 571.458065 115.513806 606.637419Z\" fill=\"#1296db\" p-id=\"4327\"></path><path d=\"M627.612903 103.853419 604.424258 74.421677 498.654968 161.06529 521.843613 190.464 627.612903 103.853419Z\" fill=\"#1296db\" p-id=\"4328\"></path><path d=\"M756.934194 636.20129 778.206968 776.125935 814.905806 770.34529 793.6 630.387613 756.934194 636.20129Z\" fill=\"#1296db\" p-id=\"4329\"></path></svg>`,\n    [_lib_WSE_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_3__.SyncState.Waiting]: `<svg t=\"1711170829523\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"10720\" width=\"256\" height=\"256\"><path d=\"M0 512C0 229.23264 229.23264 0 512 0s512 229.23264 512 512-229.23264 512-512 512S0 794.76736 0 512z\" fill=\"#FF9429\" p-id=\"10721\"></path><path d=\"M698.63424 747.648c-1.664-10.624-3.84-20.992-6.272-30.976-1.152-4.736-2.688-9.216-4.096-13.824-1.792-6.016-3.456-12.032-5.632-17.792a315.2384 315.2384 0 0 0-6.144-15.232c-2.048-4.736-3.968-9.6-6.144-14.208-2.432-5.12-5.12-10.112-7.808-14.976a352.22528 352.22528 0 0 0-6.784-11.776c-2.944-4.864-6.144-9.472-9.344-14.08-2.432-3.456-4.864-6.656-7.424-9.856-3.456-4.352-7.04-8.704-10.752-12.8-2.688-2.816-5.376-5.504-8.064-8.192a192.3584 192.3584 0 0 0-11.904-11.008c-2.944-2.432-6.016-4.48-8.96-6.656-4.224-3.072-8.32-6.272-12.672-8.832-0.256-0.128-0.512-0.384-0.768-0.512-13.312-7.936-21.376-22.016-21.376-37.504v-17.536c0-15.488 8.192-29.568 21.376-37.504 0.256-0.128 0.512-0.384 0.768-0.512 4.352-2.688 8.448-5.76 12.672-8.832 3.072-2.176 6.016-4.224 8.96-6.656 4.096-3.456 7.936-7.168 11.904-11.008 2.688-2.688 5.504-5.376 8.192-8.192 3.712-4.096 7.296-8.32 10.752-12.672 2.56-3.2 4.992-6.528 7.424-9.856a223.6928 223.6928 0 0 0 9.344-14.08c2.432-3.84 4.608-7.808 6.784-11.776 2.688-4.864 5.376-9.856 7.808-14.976 2.176-4.608 4.224-9.344 6.144-14.208 2.048-4.992 4.224-9.984 6.144-15.232 2.048-5.76 3.84-11.776 5.632-17.792 1.408-4.608 2.944-9.088 4.096-13.824 2.56-10.112 4.608-20.48 6.272-30.976 0.128-0.896 0.384-1.664 0.512-2.56 4.096-26.752-16.384-51.072-43.52-51.072H366.60224c-27.136 0-47.616 24.32-43.52 51.072 0.128 0.896 0.384 1.664 0.512 2.56 1.664 10.624 3.84 20.992 6.272 31.104 1.152 4.736 2.688 9.216 4.096 13.824 1.792 6.016 3.456 12.032 5.632 17.792a315.2384 315.2384 0 0 0 6.144 15.232c2.048 4.736 3.968 9.6 6.144 14.208 2.432 5.12 5.12 10.112 7.808 14.976 2.176 3.968 4.48 7.936 6.784 11.776 2.944 4.864 6.144 9.472 9.344 14.08 2.432 3.456 4.864 6.656 7.424 9.856 3.456 4.352 7.04 8.704 10.752 12.672 2.688 2.816 5.376 5.504 8.192 8.192a192.3584 192.3584 0 0 0 11.904 11.008c2.944 2.432 6.016 4.48 8.96 6.656 4.224 3.072 8.32 6.272 12.672 8.832 0.256 0.128 0.512 0.384 0.768 0.512 13.312 7.936 21.376 22.016 21.376 37.504v17.536c0 15.488-8.192 29.568-21.376 37.504-0.256 0.128-0.512 0.384-0.768 0.512-4.352 2.688-8.448 5.76-12.672 8.832-2.944 2.176-6.016 4.224-8.96 6.656-4.096 3.456-7.936 7.168-11.904 11.008-2.688 2.688-5.504 5.248-8.064 8.192-3.712 4.096-7.296 8.32-10.752 12.8-2.56 3.2-4.992 6.528-7.424 9.856-3.2 4.608-6.4 9.216-9.344 14.08-2.304 3.84-4.608 7.808-6.784 11.776-2.688 4.864-5.376 9.856-7.808 14.976-2.176 4.608-4.224 9.344-6.144 14.208-2.048 4.992-4.224 9.984-6.144 15.232-2.048 5.76-3.84 11.776-5.632 17.792-1.408 4.608-2.944 9.088-4.096 13.824-2.56 10.112-4.608 20.48-6.272 31.104-0.128 0.896-0.384 1.664-0.512 2.56-4.096 26.752 16.384 51.072 43.52 51.072h289.024c27.136 0 47.616-24.32 43.52-51.072-0.256-1.024-0.512-1.92-0.64-2.816z\" fill=\"#FFFFFF\" p-id=\"10722\"></path><path d=\"M407.67488 706.56h203.5968c7.65952 0 11.23328-6.78912 5.23264-10.18368l-93.69088-51.0976c-1.91488-1.07008-2.93888-2.67776-2.93888-4.46464V476.35456c0-1.60768 1.024-3.1232 2.68288-4.1984l55.7824-32.07168c5.48864-3.57376 1.91488-10.00448-5.61664-10.00448H446.09536c-7.5264 0-11.10528 6.43072-5.61664 10.00448l55.1424 31.89248c1.664 1.0752 2.68288 2.59072 2.68288 4.1984v164.45952c0 1.69472-1.14688 3.3024-2.93376 4.46464l-93.056 51.2768c-5.87264 3.4816-2.42688 10.18368 5.36064 10.18368z\" fill=\"#FF9429\" p-id=\"10723\"></path></svg>`,\n};\nclass UISyncsProgress extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(bottom = 0) {\n        super();\n        this.listens = [\"syncs\"];\n        this.Tag = \"wie-progress\";\n        this.cls = \"\";\n        this.bottom = bottom;\n    }\n    template(syncs) {\n        if (!syncs)\n            return \"\"; // syncs = { total: 5, finish: 3, loading: 1, state: { JavDB: 3, DB: 0, DB3: 1, Test: 2 } };\n        //return \"\";\n        const progress = Math.ceil((syncs.finish * 100) / syncs.total);\n        let des = `同步器总共${this.font(syncs.total)}`;\n        if (syncs.loading > 0)\n            des += `进行中${this.font(syncs.loading, \"#00c8ff\")}`;\n        if (syncs.finish > 0)\n            des += `已完成${this.font(syncs.finish, \"#50c303\")}`;\n        let wait = syncs.total - syncs.finish - syncs.loading;\n        if (wait > 0)\n            des += `等待中${this.font(wait, \"#ca931e\")}`;\n        let status = \"\";\n        for (let key in syncs.state) {\n            status += this.tag(key, syncs.state[key]);\n        }\n        if (this.progress) {\n            this.progress.innerText = progress + \"\";\n            this.des.innerHTML = des;\n            this.status.innerHTML = status;\n            return false;\n        }\n        return `\r\n            <div class=\"w-title\">\r\n                    <div class=\"wie-loader-circle\">\r\n                    <div class=\"dot\"></div>\r\n                    <div class=\"outline\"></div>\r\n                </div>\r\n                <div class=\"wie-loader-circle\">\r\n                    <div class=\"dot\"></div>\r\n                    <div class=\"outline\"></div>\r\n                </div>\r\n                <span class='loading'>${progress}</span>%\r\n                <div class=\"wie-loader-circle\">\r\n                    <div class=\"dot\"></div>\r\n                    <div class=\"outline\"></div>\r\n                </div>\r\n                <div class=\"wie-loader-circle\">\r\n                    <div class=\"dot\"></div>\r\n                    <div class=\"outline\"></div>\r\n                </div>\r\n              </div>\r\n              <div class='wie-scroll' style='padding: 5px;'>\r\n              <div class='des'>${des}</div>\r\n              <div class='w-tags' >\r\n              ${status}\r\n              </div>\r\n              </div>\r\n        `;\n    }\n    bindEvent(view, ...values) {\n        if (this.progress)\n            return;\n        view.style.bottom = `${this.bottom}px`;\n        this.progress = view.querySelector(\".loading\");\n        this.status = view.querySelector(\".w-tags\");\n        this.des = view.querySelector(\".des\");\n    }\n    tag(key, { state, time, url, fail }) {\n        var _a;\n        if (url)\n            key = `<a href='${url}' target='_blank'>${key}</a>`;\n        let tip = \"\";\n        if (fail)\n            tip = `wie-tooltip='${fail}'`;\n        return `<wie-load-item class='state_${state}' ${tip} style='background:${(_a = Colors[state]) !== null && _a !== void 0 ? _a : \"#fff\"}'>${Icons[state]} ${key} ${this.font(_Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].formatDuration(time / 1000), \"red\")}</wie-load-item>`;\n    }\n    font(num, color = \"#333\") {\n        return `<span style='font-weight:bolder;color:${color};margin:0 5px 0 2px'>${num}</span>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UISyncsProgress.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITags.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITags.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITags)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\nclass UITags extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"tags\"];\n    }\n    template(tags = []) {\n        return tags\n            .map((tag) => {\n            return `<wie-tag>${tag}</wie-tag>`;\n        })\n            .join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITags.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIText.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIText.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIText)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\nclass UIText extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(listen, tag = \"div\", format) {\n        super(listen);\n        this.Tag = tag;\n        this.format = format;\n    }\n    template(date) {\n        if (this.format)\n            return this.format.replace(\"%d\", date);\n        return date;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIText.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITitle.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITitle.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITitle)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass UITitle extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-h2\";\n        this.listens = [\"title\"];\n    }\n    template(value) {\n        //判断是否包含日文\n        const isJapanese = this.isJapanese(value);\n        if (!isJapanese)\n            return value;\n        return `<span>${value}</span><wie-btn class=\"wie-btn-translate\">${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Trans} 翻译</wie-btn>`;\n    }\n    bindEvent(div, value) {\n        var _a;\n        (_a = div.querySelector(\".wie-btn-translate\")) === null || _a === void 0 ? void 0 : _a.addEventListener(\"click\", (e) => {\n            const v = e.currentTarget;\n            if (v.textContent.indexOf(\"翻译中\") > 0) {\n                return;\n            }\n            else if (v.textContent.indexOf(\"旧标题\") > 0) {\n                div.querySelector(\"span\").innerHTML = value;\n                v.innerHTML = `${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Trans} 翻译`;\n                return;\n            }\n            this.translate(value, div.querySelector(\"span\"), v);\n        });\n    }\n    translate(value, div, v) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //设置为翻译中\n            v.innerHTML = `${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Trans} 翻译中`;\n            div.innerHTML = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].translate(value);\n            v.innerHTML = `${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Trans} 旧标题`;\n        });\n    }\n    isJapanese(temp = \"\") {\n        return !!temp.match(/[\\u3040-\\u309F\\u30A0-\\u30FF]/);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITitle.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITrailer.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITrailer.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _lib_decorator_delay__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/decorator/delay */ \"./src/lib/decorator/delay.ts\");\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__[\"default\"].add(`\r\n#wie-trailer-content img {\r\n    vertical-align: top;\r\n    max-width: 700px;\r\n}\r\n`);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _delayPlay_decorators;\n    return _a = class UITrailer extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.video = (__runInitializers(this, _instanceExtraInitializers), void 0);\n                this.playing = false;\n                this.listens = [\"trailer\", \"cover\"];\n                this.play = () => {\n                    try {\n                        this.video.play();\n                    }\n                    catch (error) { }\n                };\n            }\n            template(trailer, cover = \"\") {\n                // if (!trailer) return `<img style='width:100%' src='${cover}'/>`;\n                if (this.img) {\n                    if (cover && !this.img.src)\n                        this.img.src = cover;\n                    if (trailer && !this.video.innerHTML)\n                        this.video.innerHTML = `<source src=\"${trailer}\" type=\"video/mp4\" post>`;\n                    return false;\n                }\n                return `\r\n            <wie-trailer-btn></wie-trailer-btn>\r\n            <video style=\"display:none\"}\"></video>\r\n            <img style='width:100%'/>\r\n        `;\n            }\n            bindEvent(div, trailer) {\n                if (this.img)\n                    return;\n                // this.div = div;\n                this.playBtn = div.querySelector(\"wie-trailer-btn\");\n                this.video = div.querySelector(\"video\");\n                this.img = div.querySelector(\"img\");\n                if (!this.video)\n                    return;\n                this.video.addEventListener(\"play\", () => {\n                    // img.style.display = \"none\";\n                    this.img.style.display = \"none\";\n                    this.video.style.display = \"block\";\n                    this.video.controls = true;\n                    this.playBtn.style.display = \"none\";\n                });\n                this.cacheVideoInfo(this.video);\n                //绑定事件\n                div.querySelector(\"wie-trailer-btn\").addEventListener(\"click\", this.play);\n                this.video.nextElementSibling.addEventListener(\"click\", this.play);\n                this.delayPlay();\n                return false;\n            }\n            delayPlay() {\n                if (this.page.status !== _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_2__.PageStatus.Render)\n                    return;\n                if (this.page.setting.VideoAuto) {\n                    this.play();\n                }\n            }\n            cacheVideoInfo(video) {\n                const { VideoVolume = 1 } = this.config;\n                //设置音量\n                video.volume = VideoVolume;\n                //设置播放时间\n                // video.currentTime = PopupImage.TimesCache[this.name] || 0;\n                // video.addEventListener(\"timeupdate\", (ev) => {\n                //     PopupImage.TimesCache[this.name] = video.currentTime;\n                // });\n                video.addEventListener(\"volumechange\", (ev) => {\n                    // this.log(\"volumechange\", video.volume, video, ev);\n                    let volume = video.volume;\n                    //判断静音\n                    if (video.muted)\n                        volume = 0;\n                    this.page.inject.updateSetting({ VideoVolume: volume });\n                });\n            }\n            destroy() {\n                if (!this.video)\n                    return;\n                this.video.pause();\n                this.video.src = \"\";\n                this.video = null;\n                this.playBtn.removeEventListener(\"click\", this.play);\n            }\n            stop() {\n                //清楚自动播放\n                if (!this.video)\n                    return;\n                if (this.video.paused)\n                    return;\n                this.video.pause();\n                this.playing = true;\n            }\n            resume() {\n                if (!this.video)\n                    return;\n                if (this.playing) {\n                    this.video.play();\n                    this.playing = false;\n                }\n            }\n        },\n        (() => {\n            _delayPlay_decorators = [(0,_lib_decorator_delay__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(500)];\n            __esDecorate(_a, null, _delayPlay_decorators, { kind: \"method\", name: \"delayPlay\", static: false, private: false, access: { has: obj => \"delayPlay\" in obj, get: obj => obj.delayPlay } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITrailer.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIVideoTags.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIVideoTags.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIVideoTags)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-btn.w-tag{\r\n    padding-right:0;\r\n}\r\n.wie-btn-tag{\r\n    color: #ffffff;\r\n    background: linear-gradient(0deg, #d33b40, #d33b40);\r\n    display: inline-block;\r\n    padding: 0 4px;\r\n    margin-left: 4px;\r\n}\r\n`);\nclass UIVideoTags extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"vs\"];\n    }\n    template(vs = []) {\n        // this.log(\"info\", info, this.config);\n        // const { vs = [] } = info;\n        // this.log(\"Censored\", Censored);\n        return vs.map((item) => this.renderItem(item)).join(\"\");\n    }\n    renderItem({ link, from, sub, uhd, leak }) {\n        const tags = [];\n        if (sub === true)\n            tags.push(\"中字\");\n        if (uhd === true)\n            tags.push(\"4K\");\n        if (leak === true)\n            tags.push(\"无码\");\n        let tagStr = \"\";\n        if (tags.length > 0)\n            tagStr = `<span class='wie-btn-tag'>${tags.join(\"、\")}</span>`;\n        return `<a class='wie-btn ${tagStr ? \"w-tag\" : \"\"}' href='${link}' target='_blank'> ${_SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Play} ${from}${tagStr}</a>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIVideoTags.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIVideos.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIVideos.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _lib_decorator_bind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../lib/decorator/bind */ \"./src/lib/decorator/bind.ts\");\n/* harmony import */ var _UIRadio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UIRadio */ \"./src/Injects/CodeFind/UI/UIRadio.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-to-top{\r\n    background: linear-gradient(0deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.8540208319655987) 50%, rgba(255,255,255,0) 100%);\r\n    position: absolute;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    padding: 10px 5px 0 5px;\r\n    backdrop-filter: blur(1px);\r\n}\r\n\r\n\r\n.wie-video-item {\r\n    position: relative;\r\n    overflow: visible;\r\n    vertical-align: top;\r\n    display: block;\r\n    border-radius: 6px;\r\n    text-decoration: none;\r\n    font-size: 14px;\r\n    color: var(--color);\r\n    background: var(--bgColor);\r\n    overflow: hidden;\r\n    transition: all 1s cubic-bezier(0.22, 0.61, 0.36, 1);\r\n    cursor: pointer;\r\n    width: 100%;\r\n    box-sizing: border-box;\r\n    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.15));\r\n    border: 1px solid var(--mainBorderColor);\r\n}\r\n\r\n.wie-video-item:hover{\r\n    // transform: scale(1.02);\r\n    border: 2px solid var(--mainBorderColor);\r\n}\r\n\r\n.wie-video-item .video-item-cover{\r\n    position: relative;\r\n    min-height: 100px;\r\n}\r\n\r\n.wie-video-item .w-title{\r\n    padding: 6px 2px 3px;\r\n    font-size: 13px;\r\n    color: #333;\r\n}\r\n\r\n.wie-video-item img{\r\n    vertical-align: top;\r\n}\r\n\r\n\r\n\r\n`);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _updateFilter_decorators;\n    return _a = class UIVideos extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.Tag = (__runInitializers(this, _instanceExtraInitializers), \"wie-area\");\n                this.listens = [\"videos\", \"vs\", \"cover\"];\n                this.cls = \"wie-videos\";\n            }\n            updateCount(count) {\n                const item = this.page.view.querySelector(\"#wie-videos-count\");\n                if (item && count > 0) {\n                    item.innerHTML = `${count}`;\n                    this.hidden(item, false);\n                }\n                else {\n                    this.hidden(item, true);\n                }\n            }\n            check(tags, value, tag) {\n                var _a;\n                let hasFilter = Object.keys((_a = this.filters) !== null && _a !== void 0 ? _a : {}).length !== 0;\n                if (!!value) {\n                    tags.add(tag);\n                }\n                else {\n                    tag = \"\";\n                }\n                if (!hasFilter)\n                    return true;\n                if (this.filters[tag])\n                    return true;\n                return false;\n            }\n            updateFilter(filter) {\n                this.filters = filter;\n                this.refresh();\n            }\n            template(videos = [], vs = [], cover) {\n                videos = videos.concat(vs);\n                this.updateCount(videos.length);\n                if (!videos || videos.length === 0)\n                    return `<wie-null>未找到视频</wie-null>`;\n                let tags = new Set();\n                let list = videos\n                    .map((v, i) => {\n                    var _a;\n                    let sub = this.check(tags, v.sub, \"中文字幕\");\n                    let leak = this.check(tags, v.leak, \"无码破解\");\n                    let uhd = this.check(tags, v.uhd, \"4K\");\n                    if (!sub && !leak && !uhd)\n                        return \"\";\n                    return `<a class='wie-video-item ${v.can && v.preview ? \"video-item-preview\" : \"\"}' index=${i} href=\"${v.link}\" target=\"_blank\">\r\n                    <div class=\"video-item-cover\">\r\n                        <img src=\"${(_a = v.cover) !== null && _a !== void 0 ? _a : cover}\" alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                        <div class=\"wie-video-preview\"></div>\r\n                        <div class='wie-to-top'>\r\n                            <wie-z-tag class='w-from'>${v.from}</wie-z-tag>\r\n                            <wie-z-tag class='${!!v.sub} sub'>中文字幕</wie-z-tag>\r\n                            <wie-z-tag class='${!!v.uhd} 4k'>4K</wie-z-tag>\r\n                            <wie-z-tag class='${!!v.leak} leak'>无码破解</wie-z-tag>\r\n                            <div class='w-title'>${v.name}</div>\r\n                        </div>\r\n                    </div>\r\n                </a>`;\n                })\n                    .join(\"\");\n                return `\r\n            ${this.page.ui(_UIRadio__WEBPACK_IMPORTED_MODULE_3__[\"default\"], Array.from(tags), this.filters, this.updateFilter)}\r\n            ${list}\r\n            `;\n            }\n            bindEvent(div, videos = []) {\n                //需解决403问题\n                div.querySelectorAll(\".video-item-preview\").forEach((v) => {\n                    v.addEventListener(\"mouseenter\", (e) => {\n                        e.preventDefault();\n                        const target = e.target;\n                        const i = parseInt(target.getAttribute(\"index\"));\n                        target.querySelector(\".wie-video-preview\").innerHTML = `<video src=\"${videos[i].preview}\" referrerpolicy=\"no-referrer\" autoplay loop></video>`;\n                    });\n                    v.addEventListener(\"mouseleave\", (e) => {\n                        e.preventDefault();\n                        const target = e.target;\n                        target.querySelector(\".wie-video-preview\").innerHTML = \"\";\n                    });\n                });\n                div.querySelectorAll(\".pot\").forEach((v) => {\n                    v.addEventListener(\"click\", (e) => {\n                        e.preventDefault();\n                        e.stopPropagation();\n                        const target = e.currentTarget;\n                        const i = parseInt(target.parentElement.parentElement.getAttribute(\"index\"));\n                        window.open(videos[i].pot, \"_blank\");\n                    });\n                });\n            }\n        },\n        (() => {\n            _updateFilter_decorators = [_lib_decorator_bind__WEBPACK_IMPORTED_MODULE_2__[\"default\"]];\n            __esDecorate(_a, null, _updateFilter_decorators, { kind: \"method\", name: \"updateFilter\", static: false, private: false, access: { has: obj => \"updateFilter\" in obj, get: obj => obj.updateFilter } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIZh.ts":
    /*!*****************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIZh.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIZh)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\nclass UIZh extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(title, listen = \"zh\") {\n        super(listen);\n        this.Tag = \"wie-zh\";\n        this.title = title;\n    }\n    template(type) {\n        return this.title;\n    }\n    bindEvent(view, zh) {\n        this.hidden(view, !zh);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIZh.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/index.ts":
    /*!***************************************!*\
      !*** ./src/Injects/CodeFind/index.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_CodeFind__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActor.ts":
    /*!*************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActor.ts ***!
      \*************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _UI_UIActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UI/UIActor */ \"./src/Injects/CodeFind/UI/UIActor.ts\");\n/* harmony import */ var _UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UI/UISyncsProgress */ \"./src/Injects/CodeFind/UI/UISyncsProgress.ts\");\n/* harmony import */ var _UI_UIText__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UI/UIText */ \"./src/Injects/CodeFind/UI/UIText.ts\");\n/* harmony import */ var _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PageActorFollow/UI/UIActorVideos */ \"./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\n.page-rank wie-card{\r\n    margin: 0 10px 10px;\r\n    width: auto;\r\n}\r\n`);\nclass PageActor extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.findProps = {\n            syncs: [\n                {\n                    name: \"JavDB\",\n                    url: \"https://javdb.com\",\n                    handleUrl: (u, data, sync) => __awaiter(this, void 0, void 0, function* () {\n                        var _a;\n                        //\n                        if (data.link)\n                            return data.link;\n                        //TODO如果没有,则重新获取\n                        const url = sync.handleHost(`https://javdb.com/search?q=${data.name}&f=actor`);\n                        const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(url);\n                        if (!res)\n                            return;\n                        let link = (_a = res.querySelector(\"#actors>.actor-box a\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\");\n                        return link;\n                    }),\n                    list: \"codes\",\n                    listSelector: \".item\",\n                    query: {\n                        name: \".video-title\",\n                        code: \"strong\",\n                        duration: \".meta\",\n                        cover: \"img&&src\",\n                    },\n                },\n            ],\n        };\n    }\n    template() {\n        return `\r\n        <wie-area class='no-border'>\r\n            ${this.ui(_UI_UIText__WEBPACK_IMPORTED_MODULE_5__[\"default\"], \"name\", \"wie-title\")}\r\n        </wie-area>\r\n            <div class=\"wie-scroll page-rank\">\r\n                ${this.ui(_UI_UIActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"], this.intent, void 0, false)}\r\n                ${this.ui(_PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_6__[\"default\"])}\r\n            </div>\r\n            ${this.ui(_UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_4__[\"default\"])}\r\n        `;\n    }\n}\nPageActor.Name = \"PageActor\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageActor);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActorFollow.ts":
    /*!*******************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActorFollow.ts ***!
      \*******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UI/UISyncsProgress */ \"./src/Injects/CodeFind/UI/UISyncsProgress.ts\");\n/* harmony import */ var _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PageActorFollow/UI/UIActorVideos */ \"./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass PageActorFollow extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.findProps = {\n            syncs: [\n                {\n                    for: [\"actors\", \"name\"],\n                    name: \"JavDB\",\n                    url: \"https://javdb.com\",\n                    handleUrl: (url, data, sync) => __awaiter(this, void 0, void 0, function* () {\n                        var _a;\n                        return (_a = sync.sync.forData) === null || _a === void 0 ? void 0 : _a.link;\n                        //TODO如果没有,则重新获取\n                    }),\n                    list: \"codes\",\n                    listSelector: \".item\",\n                    query: {\n                        name: \".video-title\",\n                        code: \"strong\",\n                        duration: \".meta\",\n                        cover: \"img&&src\",\n                    },\n                },\n            ],\n        };\n    }\n    onIntent(intent) {\n        var _a;\n        const actors = (_a = this.setting.Collect.actors) !== null && _a !== void 0 ? _a : {};\n        this.log(\"---onIntent\", actors, this.setting);\n        return Object.assign(Object.assign({}, intent), { actors });\n    }\n    template(intent) {\n        return `\r\n        <wie-area class='no-border'>\r\n            <wie-title>关注演员的近期作品</wie-title>\r\n        </wie-area>\r\n        <div class=\"wie-scroll\">\r\n            ${this.ui(_PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_2__[\"default\"])}\r\n        </div>\r\n        ${this.ui(_UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_1__[\"default\"])}\r\n        `;\n    }\n}\nPageActorFollow.Name = \"PageActorFollow\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageActorFollow);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActorFollow.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts":
    /*!************************************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts ***!
      \************************************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActorVideos)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-a-videos{\r\n    border-left: 1px dashed var(--mainColor);\r\n    padding: 0 10px;\r\n}\r\nwie-line{\r\n    white-space: nowrap;\r\n    overflow: scroll visible;\r\n}\r\n.wie-line-title{\r\n    margin-bottom: 5px;\r\n    text-align: left;\r\n    margin-top: 20px;\r\n    position: relative;\r\n}\r\n.wie-line-title>*{\r\n\r\n}\r\n.wie-line-title .title{\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    margin-bottom: 5px;\r\n}\r\n.wie-line-title wie-avatar{\r\n    width: 30px;\r\n    height: 30px;\r\n    border-width: 1px;\r\n    display: inline-block;\r\n    margin:0 10px 0 0;\r\n}\r\n.wie-line-title .count{\r\n   font-size: 12px;\r\n    color:#999;\r\n    margin-left: 5px;\r\n}\r\n.wie-line-title .split{\r\n    width: 10px;\r\n    height: 2px;\r\n    background-color: var(--mainColor);\r\n    margin-bottom: 5px;\r\n    position: absolute;\r\n    left: -15px;\r\n    top: 11px;\r\n}\r\n.wie-line-wrap{\r\n    overflow: auto hidden;\r\n    margin-bottom: 20px;\r\n    display: block;\r\n}\r\n.wie-a-video {\r\n    cursor: pointer;\r\n    margin: 5px;\r\n    display: inline-block;\r\n}\r\n.wie-a-video .img {\r\n    height: 150px;\r\n    width: 105px;\r\n    background-size: auto 100%;\r\n    border-radius: 5px;\r\n    background-position: right;\r\n    box-shadow: 0px 0px 5px #ccccccc2;\r\n    transition: transform 0.3s ease;\r\n    transform: scale(1);\r\n    border: 1px solid var(--mainColor);\r\n}\r\n.wie-a-video .img:hover {\r\n    transform: scale(1.02);\r\n}\r\n\r\n.wie-a-video .time,\r\n.wie-a-video .code {\r\n    display: block;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    font-weight: bold;\r\n}\r\n.wie-actors-line{\r\n    padding: 10px 0 0 10px;\r\n    overflow: visible;\r\n    margin-bottom: 20px;\r\n}\r\n.wie-actors-line>*{\r\n    display: inline-block;\r\n    margin: 0 10px 0 0;\r\n}\r\n\r\n.wie-actor-item.false {\r\n    filter: grayscale(1);\r\n}\r\n\r\n`);\nclass UIActorVideos extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"codes\", \"actors\"];\n        this.renderVideo = (video) => {\n            // if (this.filter && video.zh !== this.filter) return \"\";\n            return `\r\n        <div class='wie-a-video' code='${video.code}' >\r\n            <div class='img' style='background-image:url(${video.cover})'></div>\r\n            <span class='code'>${video.code}</span>\r\n        </div>`;\n        };\n    }\n    to(codes) {\n        var _a, _b;\n        const videos = [];\n        const maps = {};\n        const vCache = {};\n        for (let code of codes) {\n            const actorName = (_a = code.for) !== null && _a !== void 0 ? _a : code.name;\n            if (this.filter && actorName !== this.filter)\n                continue;\n            //如果已经包含,则继续\n            if (vCache[code.code])\n                continue;\n            vCache[code.code] = true;\n            let cache = maps[code.duration];\n            if (!cache) {\n                cache = { time: code.duration, videos: [], actors: new Set() };\n                maps[code.duration] = cache;\n                videos.push(cache);\n            }\n            cache.actors.add((_b = code.for) !== null && _b !== void 0 ? _b : code.name);\n            cache.videos.push(code);\n        }\n        return videos;\n    }\n    template(codes = [], actors = {}) {\n        if (codes.length === 0) {\n            return `<wie-area class='wie-loading'>\r\n                <div class='wie-loader'></div>\r\n                <div data-glitch=\"数据查询中\" class=\"glitch name\">数据查询中</div>\r\n            </wie-area>`;\n        }\n        const videos = this.to(codes);\n        const list = Object.keys(actors);\n        const ret = videos.map((time) => {\n            const al = Array.from(time.actors);\n            let v = time.videos.map((v) => this.renderVideo(v));\n            // if (this.filter) v = v.filter((v) => v !== \"\");\n            if (v.length === 0)\n                return \"\";\n            return `\r\n                    <div class='wie-line-title'>\r\n                        <div class='split'></div>\r\n                        <div class='title'>${this.renderTime(time.time, v.length)}</div>\r\n                        ${this.filter || list.length === 0 ? \"\" : al.map((name) => { var _a, _b; return `<wie-avatar><img src='${(_b = (_a = actors[name]) === null || _a === void 0 ? void 0 : _a.avatar) !== null && _b !== void 0 ? _b : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/></wie-avatar>`; }).join(\"\")}\r\n                    </div>\r\n                    <wie-scroll class='wie-line-wrap'>\r\n                        <wie-line>${v.join(\"\")}</wie-line>\r\n                    </wie-scroll>\r\n                `;\n        });\n        const actorLine = `<wie-area class='wie-actors-line'>\r\n            ${list\n            .map((name) => {\n            var _a;\n            return `<div class='wie-actor-item ${!this.filter || this.filter === name}' name='${name}'  wie-tooltip='${name}' data-placement=\"bottom\"><wie-avatar><img src='${(_a = actors[name].avatar) !== null && _a !== void 0 ? _a : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/></wie-avatar></div>`;\n        })\n            .join(\"\")}\r\n        </wie-area>`;\n        return `${list.length > 0 ? actorLine : \"\"}\r\n            <wie-area><div class='wie-a-videos'>${ret.join(\"\")}</div></wie-area>`;\n    }\n    bindEvent(root) {\n        //     const list = Object.keys(actors);\n        //     this.log(\"actors\", actors, list, intent);\n        //     // if (list.length === 0 && !intent.videos) {\n        //     //     root.innerHTML = `<wie-area>暂无关注的演员</wie-area>`;\n        //     //     return;\n        //     // }\n        //     const { videos = [] } = intent;\n        //     this.log(\"videos\", videos, videos.length, intent);\n        //     if (videos.length === 0) {\n        //         root.innerHTML = `<wie-area class='wie-loading'>\n        //             <div class='wie-loader'></div>\n        //             <div data-glitch=\"数据查询中\" class=\"glitch name\">数据查询中</div>\n        //         </wie-area>`;\n        //         return;\n        //     }\n        //     const ret = intent.videos.map((time) => {\n        //         const al = Array.from(time.actors);\n        //         this.log(\"al\", al, time);\n        //         let v = time.videos.map((v) => this.renderVideo(v));\n        //         if (this.filter) v = v.filter((v) => v !== \"\");\n        //         if (v.length === 0) return \"\";\n        //         return `\n        //             <div class='wie-line-title'>\n        //                 <div class='split'></div>\n        //                 <div class='title'>${this.renderTime(time.time, v.length)}</div>\n        //                 ${this.filter || list.length === 0 ? \"\" : al.map((name) => `<wie-avatar><img src='${actors[name]?.avatar ?? \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/></wie-avatar>`).join(\"\")}\n        //             </div>\n        //             <wie-scroll class='wie-line-wrap'>\n        //                 <wie-line>${v.join(\"\")}</wie-line>\n        //             </wie-scroll>\n        //         `;\n        //     });\n        //     const actorLine = `<wie-area class='wie-actors-line'>\n        //     ${list\n        //         .map(\n        //             (name) =>\n        //                 `<div class='wie-actor-item ${!this.filter || this.filter === name}' name='${name}'  wie-tooltip='${name}' data-placement=\"bottom\"><wie-avatar><img src='${\n        //                     actors[name].avatar ?? \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"\n        //                 }'/></wie-avatar></div>`\n        //         )\n        //         .join(\"\")}\n        // </wie-area>`;\n        //     root.innerHTML = `${list.length > 0 ? actorLine : \"\"}\n        //     <wie-area><div class='wie-a-videos'>${ret.join(\"\")}</div></wie-area>`;\n        //绑定点击事件\n        root.querySelectorAll(\".wie-a-video\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                // e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const code = target.getAttribute(\"code\");\n                this.log(\"click\", code, target);\n                this.startPage(_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { code });\n            });\n        });\n        //绑定点击事件\n        root.querySelectorAll(\".wie-actor-item\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                // e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const name = target.getAttribute(\"name\");\n                // this.inject.startPage(PageCode, { name });\n                if (this.filter === name)\n                    delete this.filter;\n                else\n                    this.filter = name;\n                //重新渲染\n                this.refresh();\n            });\n        });\n    }\n    renderTime(duration, count) {\n        //获取今天凌晨时间\n        const date = new Date(this.format(new Date().valueOf(), \"yyyy-MM-dd\")).valueOf();\n        const da = new Date(duration).valueOf();\n        const time = date - da;\n        if (time == 0) {\n            duration = \"今天\";\n        }\n        else if (time > 0 && time <= 24 * 60 * 60 * 1000) {\n            duration = \"昨天\";\n        }\n        else if (time > 24 * 60 * 60 * 1000 && time <= 24 * 60 * 60 * 1000 * 2) {\n            duration = \"前天\";\n        }\n        // const time =new Date().valueOf() - new Date(duration).valueOf();\n        return `${duration}<span class='count'>[${count}部]</span>`;\n    }\n    format(time, fmt) {\n        const date = new Date(Number(time) < 10000000000 ? Number(time) * 1000 : Number(time)); //对于只有10位数的时间做*1000处理\n        const o = {\n            \"M+\": date.getMonth() + 1,\n            \"d+\": date.getDate(),\n            \"h+\": date.getHours(),\n            \"m+\": date.getMinutes(),\n            \"s+\": date.getSeconds(),\n            \"q+\": Math.floor((date.getMonth() + 3) / 3),\n            S: date.getMilliseconds(), //毫秒\n        };\n        const week = {\n            \"0\": \"日\",\n            \"1\": \"一\",\n            \"2\": \"二\",\n            \"3\": \"三\",\n            \"4\": \"四\",\n            \"5\": \"五\",\n            \"6\": \"六\",\n        };\n        if (/(y+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length));\n        }\n        if (/(E+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? \"星期\" : \"周\") : \"\") + week[date.getDay() + \"\"]);\n        }\n        for (const k in o) {\n            if (new RegExp(`(${k})`).test(fmt)) {\n                fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length));\n            }\n        }\n        return fmt;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageCode.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageCode.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _UI_UILoading__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../UI/UILoading */ \"./src/UI/UILoading.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _UI_UIActors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UI/UIActors */ \"./src/Injects/CodeFind/UI/UIActors.ts\");\n/* harmony import */ var _UI_UIButtons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UI/UIButtons */ \"./src/Injects/CodeFind/UI/UIButtons.ts\");\n/* harmony import */ var _UI_UICode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UI/UICode */ \"./src/Injects/CodeFind/UI/UICode.ts\");\n/* harmony import */ var _UI_UICollect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../UI/UICollect */ \"./src/Injects/CodeFind/UI/UICollect.ts\");\n/* harmony import */ var _UI_UIComment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../UI/UIComment */ \"./src/Injects/CodeFind/UI/UIComment.ts\");\n/* harmony import */ var _UI_UIEmby__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../UI/UIEmby */ \"./src/Injects/CodeFind/UI/UIEmby.ts\");\n/* harmony import */ var _UI_UIImage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../UI/UIImage */ \"./src/Injects/CodeFind/UI/UIImage.ts\");\n/* harmony import */ var _UI_UIMagnet__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../UI/UIMagnet */ \"./src/Injects/CodeFind/UI/UIMagnet.ts\");\n/* harmony import */ var _UI_UIPreview__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../UI/UIPreview */ \"./src/Injects/CodeFind/UI/UIPreview.ts\");\n/* harmony import */ var _UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../UI/UISyncsProgress */ \"./src/Injects/CodeFind/UI/UISyncsProgress.ts\");\n/* harmony import */ var _UI_UIScore__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../UI/UIScore */ \"./src/Injects/CodeFind/UI/UIScore.ts\");\n/* harmony import */ var _UI_UISeries__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../UI/UISeries */ \"./src/Injects/CodeFind/UI/UISeries.ts\");\n/* harmony import */ var _UI_UIStat__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../UI/UIStat */ \"./src/Injects/CodeFind/UI/UIStat.ts\");\n/* harmony import */ var _UI_UISubs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../UI/UISubs */ \"./src/Injects/CodeFind/UI/UISubs.ts\");\n/* harmony import */ var _UI_UITags__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../UI/UITags */ \"./src/Injects/CodeFind/UI/UITags.ts\");\n/* harmony import */ var _UI_UIText__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../UI/UIText */ \"./src/Injects/CodeFind/UI/UIText.ts\");\n/* harmony import */ var _UI_UITitle__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../UI/UITitle */ \"./src/Injects/CodeFind/UI/UITitle.ts\");\n/* harmony import */ var _UI_UITrailer__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../UI/UITrailer */ \"./src/Injects/CodeFind/UI/UITrailer.ts\");\n/* harmony import */ var _UI_UIZh__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../UI/UIZh */ \"./src/Injects/CodeFind/UI/UIZh.ts\");\n/* harmony import */ var _PageActorFollow__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./PageActorFollow */ \"./src/Injects/CodeFind/pages/PageActorFollow.ts\");\n/* harmony import */ var _PageCollect__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./PageCollect */ \"./src/Injects/CodeFind/pages/PageCollect.ts\");\n/* harmony import */ var _Sync_PageCodeSync__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Sync/PageCodeSync */ \"./src/Injects/CodeFind/pages/Sync/PageCodeSync.ts\");\n/* harmony import */ var _UI_UIVideoTags__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../UI/UIVideoTags */ \"./src/Injects/CodeFind/UI/UIVideoTags.ts\");\n/* harmony import */ var _UI_UIStudio__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../UI/UIStudio */ \"./src/Injects/CodeFind/UI/UIStudio.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_30__[\"default\"].add(`\r\n.wie-info-btn{\r\n    cursor: pointer;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n    padding: 5px 7px;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\n.wie-info-btn:hover{\r\n    background-color: var(--mainLLColor);\r\n}\r\n.wie-info-btn svg{\r\n    width: 24px;\r\n    height: 24px;\r\n    vertical-align: middle;\r\n    fill: var(--mainColor);\r\n}\r\n#wie-go-follow{\r\n    right: 34px;\r\n}\r\nwie-links{\r\n    padding: 5px 10px 0;\r\n    display: block;\r\n}\r\n\r\n\r\n#wie-videos-count,\r\n#wie-magnet-count,\r\n#wie-image-text\r\n{\r\n    background-color: red;\r\n    color: white;\r\n    padding: 0 3px;\r\n    border-radius: 10px;\r\n    font-size: 8px;\r\n    margin-bottom: 10px;\r\n    display: inline-block;\r\n    /* height: 10px; */\r\n    vertical-align: top;\r\n    line-height: 10px;\r\n    font-weight: bold;\r\n}\r\n\r\n\r\n.wie-scroll-to {\r\n    width: 50px;\r\n    height: 50px;\r\n    border-radius: 50%;\r\n    background-color: #ffffffa3;\r\n    border: none;\r\n    font-weight: 600;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    backdrop-filter: blur(6px);\r\n    cursor: pointer;\r\n    transition-duration: 0.3s;\r\n    overflow: hidden;\r\n    position: absolute;\r\n    bottom: 80px;\r\n    right: 50px;\r\n    display: none;\r\n    color: #333;\r\n    fill: #333;\r\n    filter: drop-shadow(2px 4px 6px rgba(0,0,0,.3));\r\n    box-sizing: border-box;\r\n  }\r\n  \r\n  .wie-scroll-to .svgIcon {\r\n    width: 12px;\r\n    transition-duration: 0.3s;\r\n  }\r\n  \r\n  \r\n  .wie-scroll-to:hover {\r\n    width: 100px;\r\n    border-radius: 50px;\r\n    transition-duration: 0.3s;\r\n    align-items: center;\r\n  }\r\n  \r\n  .wie-scroll-to:hover .svgIcon {\r\n    /* width: 20px; */\r\n    transition-duration: 0.3s;\r\n    transform: translateY(-200%);\r\n  }\r\n  \r\n  .wie-scroll-to::before {\r\n    position: absolute;\r\n    bottom: -20px;\r\n    content: \"返回顶部\";\r\n    left: 0;\r\n    width: 100%;\r\n    text-align: center;\r\n    opacity: 0;\r\n  }\r\n  \r\n  .wie-scroll-to:hover::before {\r\n    font-size: 13px;\r\n    opacity: 1;\r\n    bottom: unset;\r\n    /* transform: translateY(-30px); */\r\n    transition-duration: 0.3s;\r\n  }\r\n.wie-icon>svg{\r\n    width: 18px;\r\n    height: 18px;\r\n    vertical-align: middle;\r\n}\r\nwie-release{\r\n    font-weight:700;\r\n    margin-right:4px;\r\n}\r\n  \r\n`);\nconst FollowSvg = `<svg t=\"1707202765671\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7677\" width=\"128\" height=\"128\"><path d=\"M882.346667 569.813333c56.106667 99.2-75.306667 209.92-139.093334 256a55.466667 55.466667 0 0 1-64 0c-64-45.866667-195.2-156.586667-139.093333-256a103.04 103.04 0 0 1 164.693333-21.333333 9.386667 9.386667 0 0 0 13.653334 0 103.04 103.04 0 0 1 164.693333 21.333333z\" p-id=\"7678\"></path><path d=\"M815.36 337.066667a195.413333 195.413333 0 0 0-320-56.96 17.92 17.92 0 0 1-26.026667 0A195.413333 195.413333 0 0 0 149.333333 337.066667C54.613333 547.413333 381.226667 778.88 463.36 832a33.28 33.28 0 0 0 36.693333 0c81.92-53.12 408.533333-284.586667 315.306667-494.933333z m-390.186667 28.586666a32 32 0 0 1-40.106666 21.333334 64 64 0 0 0-81.493334 74.666666 32 32 0 1 1-62.506666 13.44 128 128 0 0 1 162.986666-149.333333 32 32 0 0 1 21.12 39.893333z\" p-id=\"7679\"></path></svg>`;\nclass PageCode extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\"];\n        this.findProps = _Sync_PageCodeSync__WEBPACK_IMPORTED_MODULE_27__[\"default\"];\n    }\n    /** 支持缓存 */\n    cacheKey(intent) {\n        return intent.code;\n    }\n    renderTimeLine(code) {\n        const time = this.inject.getVisit(code);\n        const str = _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTime(time);\n        if (!str)\n            return \"\";\n        return `<wie-intro>于 ${str} 浏览过</wie-intro>`;\n    }\n    template(code) {\n        // this.log(\"render\", this.inject.getVisit(intent.code));\n        return `\r\n        <page-content>\r\n        <div id='wie-code'>\r\n            <wie-area class='no-border'>\r\n                    <div class='wie-video'>\r\n                        <div id=\"wie-trailer-content\">\r\n                            ${this.ui(_UI_UITrailer__WEBPACK_IMPORTED_MODULE_23__[\"default\"])}\r\n                        </div>\r\n                    </div>\r\n                    <div class='wie-keys'>\r\n                        ${this.ui(_UI_UITitle__WEBPACK_IMPORTED_MODULE_22__[\"default\"])}\r\n                        <div class='wie-line'>\r\n                            ${this.ui(_UI_UICollect__WEBPACK_IMPORTED_MODULE_9__[\"default\"])}\r\n                            ${this.ui(_UI_UICode__WEBPACK_IMPORTED_MODULE_8__[\"default\"])}\r\n                            ${this.ui(_UI_UIZh__WEBPACK_IMPORTED_MODULE_24__[\"default\"], \"中字\")}\r\n                            ${this.ui(_UI_UIZh__WEBPACK_IMPORTED_MODULE_24__[\"default\"], \"无码\", \"leak\")}\r\n                            ${this.ui(_UI_UIZh__WEBPACK_IMPORTED_MODULE_24__[\"default\"], \"4K\", \"uhd\")}\r\n                            ${this.ui(_UI_UIScore__WEBPACK_IMPORTED_MODULE_16__[\"default\"])}\r\n                            ${this.ui(_UI_UIScore__WEBPACK_IMPORTED_MODULE_16__[\"default\"], \"JavLib\", \"score_javlib\")}\r\n                        </div>\r\n                        <div class='wie-line'>\r\n                            <span class='wie-icon'>${_SVGConst__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Publish}</span>\r\n                            ${this.ui(_UI_UIText__WEBPACK_IMPORTED_MODULE_21__[\"default\"], \"releaseDate\", \"wie-release\")}\r\n                            ${this.renderTimeLine(code)}\r\n                        </div>\r\n                        ${this.ui(_UI_UIEmby__WEBPACK_IMPORTED_MODULE_11__[\"default\"])}\r\n                    </div>\r\n                    ${this.ui(_UI_UIButtons__WEBPACK_IMPORTED_MODULE_7__[\"default\"])}\r\n\r\n                    <div class='wie-tabs'>\r\n                        <wie-tab id=\"wie-tab-base\">信息</wie-tab>\r\n                        <wie-tab id=\"wie-tab-image\">预览<span id='wie-image-text' style=\"display:none\">大图</span></wie-tab>\r\n                        <wie-tab id=\"wie-tab-magnet\">磁链<span id='wie-magnet-count'></span></wie-tab>\r\n                    </div>\r\n                </wie-area>\r\n\r\n                <div class='wie-container wie-scroll'>\r\n                    <div id='wie-info-base'>\r\n                        <wie-area>\r\n                            <wie-name>${_SVGConst__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Play} 在线视频</wie-name>\r\n                            ${this.ui(_UI_UIVideoTags__WEBPACK_IMPORTED_MODULE_28__[\"default\"])}\r\n                        </wie-area>\r\n                        ${this.ui(_UI_UIActors__WEBPACK_IMPORTED_MODULE_6__[\"default\"])}\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546614063\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"41668\" width=\"128\" height=\"128\"><path d=\"M995.125144 559.61812l-415.998603-415.998602A52.986489 52.986489 0 0 0 541.413335 127.99957H338.847348c-3.166656-26.559911-9.286635-51.046495-17.999939-71.333094C299.734146 7.333309 271.154242 0 256.00096 0c-13.939953 0-40.439864 6.339979-61.259794 48.806503-10.473298 21.366595-17.946606 48.966502-21.573261 79.193067H53.334974a53.393154 53.393154 0 0 0-53.333154 53.333154v360.078791a52.986489 52.986489 0 0 0 15.619948 37.713206l415.998602 415.998603a53.333154 53.333154 0 0 0 75.426413 0l26.286579-26.293245 26.286578 26.293245a53.426487 53.426487 0 0 0 16.719944 11.333295 21.333262 21.333262 0 0 0 36.079879 11.293295l382.705381-382.705381a53.399821 53.399821 0 0 0 0-75.426413z m-762.070774-491.998347C241.494342 50.373164 250.667645 42.666523 256.00096 42.666523c5.99998 0 16.573278 9.639968 25.646581 30.806564 6.493312 15.159949 11.333295 33.999886 14.146619 54.526483H216.16776c3.206656-23.419921 9.013303-44.359851 16.88661-60.41313z m243.819181 897.330319a10.666631 10.666631 0 0 1-15.079949 0l-415.998603-415.998603A10.573298 10.573298 0 0 1 42.668343 541.411515V181.332724a10.666631 10.666631 0 0 1 10.666631-10.666631h245.332509c0 47.853173-10.373298 92.15969-27.066575 115.632945-5.926647 8.326639-16.566611 14.186619-22.306592 16.113279C204.041135 314.752276 170.667913 356.218803 170.667913 405.331972c0 58.813136 47.853173 106.666308 106.666309 106.666308s106.666308-47.853173 106.666308-106.666308c0-47.086508-30.666564-87.139707-73.079754-101.246327C330.060711 272.705751 341.334007 223.692582 341.334007 170.666093h72.079758a10.573298 10.573298 0 0 1 7.539974 3.126656l415.998603 415.998603a10.666631 10.666631 0 0 1 0 15.079949zM341.334007 405.331972a63.999785 63.999785 0 1 1-63.999785-63.999785 64.073118 64.073118 0 0 1 63.999785 63.999785z m263.539114 559.61812a10.666631 10.666631 0 0 1-15.079949 0L563.499927 938.663513l303.625647-303.61898a53.399821 53.399821 0 0 0 0-75.426413L478.16688 170.666093h63.246455a10.573298 10.573298 0 0 1 7.539974 3.126656l415.998603 415.998603c0.239999 0.239999 0.466665 0.486665 0.666664 0.746664l0.086667 0.106666a10.666631 10.666631 0 0 1 0 13.373289l-0.086667 0.106666c-0.213333 0.259999-0.439999 0.506665-0.666664 0.746664z\" p-id=\"41669\"></path></svg>\r\n                            标签</wie-name>\r\n                            ${this.ui(_UI_UITags__WEBPACK_IMPORTED_MODULE_20__[\"default\"])}\r\n                        </wie-area>\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546506289\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"38796\" width=\"128\" height=\"128\"><path d=\"M828.465335 900.361927h-81.522914l-26.171563-68.587544h-120.329025l-24.66745 68.587544h-79.717979l117.320799-300.822562h94.458285z m-136.272621-143.793184l-32.488836-87.238543-30.683902 86.93772z\" fill=\"#231815\" p-id=\"38797\"></path><path d=\"M300.822562 572.766157v360.987074a90.246769 90.246769 0 0 0 90.246768 90.246769h541.480611a90.246769 90.246769 0 0 0 90.246769-90.246769v-360.987074a90.246769 90.246769 0 0 0-90.246769-90.246768H391.06933a90.246769 90.246769 0 0 0-90.246768 90.246768z m601.645123 360.987074H421.151586a30.082256 30.082256 0 0 1-30.082256-30.082256v-300.822561a30.082256 30.082256 0 0 1 30.082256-30.082257h481.316099a30.082256 30.082256 0 0 1 30.082256 30.082257v300.822561a30.082256 30.082256 0 0 1-30.082256 30.082256zM631.426557 318.871915l-180.493537 120.329025a30.082256 30.082256 0 0 1-46.92832-24.968273v-240.658049a30.082256 30.082256 0 0 1 46.92832-24.968273l180.493537 120.329025a30.082256 30.082256 0 0 1 0 49.936545z\" fill=\"#231815\" p-id=\"38798\"></path><path d=\"M120.329025 572.766157a30.082256 30.082256 0 0 1-30.082256-30.082256v-421.151586a30.082256 30.082256 0 0 1 30.082256-30.082256h782.13866a30.082256 30.082256 0 0 1 30.082256 30.082256v270.740305h90.246769v-300.822561a90.246769 90.246769 0 0 0-90.246769-90.246769H90.246769a90.246769 90.246769 0 0 0-90.246769 90.246769v481.316098a90.246769 90.246769 0 0 0 90.246769 90.246769h120.329024v-90.246769z\" p-id=\"38799\"></path></svg>\r\n                            中文字幕</wie-name>\r\n                            ${this.ui(_UI_UISubs__WEBPACK_IMPORTED_MODULE_19__[\"default\"])}\r\n                        </wie-area>\r\n\r\n                        <wie-area>\r\n                            <wie-name>${_SVGConst__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Info} 关于</wie-name>\r\n                            <div><span class='wie-name'>剧情:</span>${this.ui(_UI_UIText__WEBPACK_IMPORTED_MODULE_21__[\"default\"], \"desc\", \"wie-desc\")}</div>\r\n                            <div><span class='wie-name'>导演:</span>${this.ui(_UI_UIText__WEBPACK_IMPORTED_MODULE_21__[\"default\"], \"director\")}</div>\r\n                            <div><span class='wie-name'>时长:</span>${this.ui(_UI_UIText__WEBPACK_IMPORTED_MODULE_21__[\"default\"], \"duration\")}</div>\r\n                            <div><span class='wie-name'>制作:</span>${this.ui(_UI_UIStudio__WEBPACK_IMPORTED_MODULE_29__[\"default\"])}</div>\r\n                            <div><span class='wie-name'>系列:</span>${this.ui(_UI_UISeries__WEBPACK_IMPORTED_MODULE_17__[\"default\"])}</div>\r\n                        </wie-area>\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546730770\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"61213\" width=\"128\" height=\"128\"><path d=\"M696.32 368.64c158.35136 0 286.72 128.36864 286.72 286.72 0 67.91168-23.61344 130.31424-63.0784 179.42528l16.6912 50.03264a40.96 40.96 0 0 1-51.8144 51.8144l-65.96608-21.99552A285.61408 285.61408 0 0 1 696.32 942.08c-158.35136 0-286.72-128.36864-286.72-286.72s128.36864-286.72 286.72-286.72z m0 61.44c-124.416 0-225.28 100.864-225.28 225.28s100.864 225.28 225.28 225.28c30.98624 0 61.00992-6.22592 88.73984-18.14528l7.51616-3.3792 22.3232-10.56768 50.50368 16.83456-14.31552-42.94656 20.992-26.13248A224.0512 224.0512 0 0 0 921.6 655.36c0-124.416-100.864-225.28-225.28-225.28z\"  p-id=\"61214\"></path><path d=\"M430.08 81.92c214.89664 0 389.12 174.22336 389.12 389.12s-174.22336 389.12-389.12 389.12a387.6864 387.6864 0 0 1-162.22208-35.328L157.4912 857.94816a40.96 40.96 0 0 1-51.52768-49.11104l0.90112-3.072 27.32032-81.98144A387.584 387.584 0 0 1 40.96 471.04C40.96 256.14336 215.18336 81.92 430.08 81.92z\"  p-id=\"61215\"></path><path d=\"M430.08 143.36C249.09824 143.36 102.4 290.05824 102.4 471.04a326.0416 326.0416 0 0 0 73.19552 206.4384l5.3248 6.36928 22.54848 26.4192-25.82528 77.47584 94.78144-28.42624 21.07392 9.68704A326.22592 326.22592 0 0 0 430.08 798.72c180.98176 0 327.68-146.69824 327.68-327.68S611.06176 143.36 430.08 143.36z\" fill=\"#FFFFFF\" p-id=\"61216\"></path><path d=\"M245.76 327.68m40.96 0l286.72 0q40.96 0 40.96 40.96l0 0q0 40.96-40.96 40.96l-286.72 0q-40.96 0-40.96-40.96l0 0q0-40.96 40.96-40.96Z\"  p-id=\"61217\"></path><path d=\"M245.76 532.48m40.96 0l163.84 0q40.96 0 40.96 40.96l0 0q0 40.96-40.96 40.96l-163.84 0q-40.96 0-40.96-40.96l0 0q0-40.96 40.96-40.96Z\"  p-id=\"61218\"></path></svg>\r\n                            评论</wie-name>\r\n                            ${this.ui(_UI_UIComment__WEBPACK_IMPORTED_MODULE_10__[\"default\"])}\r\n                        </wie-area>\r\n                    </div>\r\n\r\n                    <div id='wie-info-magnet'>\r\n                        <wie-area>\r\n                            ${this.ui(_UI_UIMagnet__WEBPACK_IMPORTED_MODULE_13__[\"default\"])}\r\n                        </wie-area>\r\n                    </div>\r\n                    \r\n\r\n                    <div id='wie-info-image'>\r\n                        <wie-area>\r\n                            ${this.ui(_UI_UIPreview__WEBPACK_IMPORTED_MODULE_14__[\"default\"])}\r\n                            ${this.ui(_UI_UIImage__WEBPACK_IMPORTED_MODULE_12__[\"default\"])}\r\n                        </wie-area>\r\n                    </div>\r\n\r\n\r\n         \r\n                </div>\r\n          \r\n                <div class='wie-info'>\r\n                    <wie-info class='wie-info-title'>WIE</wie-info>\r\n                    <wie-info class='wie-info-version'>V${_WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].VERSION}</wie-info>\r\n                    ${this.ui(_UI_UIStat__WEBPACK_IMPORTED_MODULE_18__[\"default\"])}\r\n                    <div id='wie-go-collect' class=\"wie-info-btn\" wie-tooltip='收藏番号'>${_SVGConst__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Collect}</div>\r\n                    <div id='wie-go-follow' class='wie-info-btn' wie-tooltip='关注演员'>${FollowSvg}</div>\r\n                </div> \r\n                \r\n            </div>\r\n            ${this.ui(_UI_UILoading__WEBPACK_IMPORTED_MODULE_2__[\"default\"], \"番号[%d]查询中...\", \"code\", \"title\", \"cover\")}\r\n\r\n            <button class=\"wie-scroll-to\">\r\n            <svg class=\"svgIcon\" viewBox=\"0 0 384 512\">\r\n                <path\r\n                d=\"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"\r\n                ></path>\r\n            </svg>\r\n            </button>\r\n\r\n\r\n            ${this.ui(_UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_15__[\"default\"], 44)}\r\n        </page-content>\r\n        `;\n        //\n        //     <div id='wie-info-introduce'>\n        //     ${this.ui(UIIntroduce)}\n        // </div>\n    }\n    /**\n     * 是否收藏\n     * @param code\n     * @returns\n     */\n    isCollect(code) {\n        const { Collect } = this.inject.setting;\n        return !!Collect.codes[code.code];\n    }\n    /**\n     * 收藏\n     * @param code\n     */\n    collect(code) {\n        const { Collect } = this.inject.setting;\n        if (!Collect.codes)\n            Collect.codes = {};\n        if (!Collect.codes[code.code]) {\n            const { cover, title, code: iCode } = code;\n            Collect.codes[code.code] = { code: iCode, cover, name: title, from: \"Collect\", zh: code.releaseDate, duration: _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].format(Date.now(), \"yyyy-MM-dd hh:mm:ss\") };\n        }\n        else {\n            delete Collect.codes[code.code];\n        }\n        this.inject.updateSetting({ Collect });\n    }\n    bindEvent(div) {\n        const scroll = div.querySelector(\".wie-scroll\");\n        scroll.addEventListener(\"wheel\", (e) => {\n            const { scrollHeight, scrollTop, clientHeight } = scroll;\n            if (scrollHeight <= clientHeight)\n                return;\n            if (e.deltaY > 0) {\n                scroll.scrollTop = Math.max(scrollTop + 50, 0);\n            }\n            else {\n                scroll.scrollTop = Math.min(scrollTop - 50, scrollHeight - clientHeight);\n            }\n        });\n        this.bindToTop(div, \".wie-container\", \".wie-scroll-to\");\n        //tab项控制\n        new _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_4__[\"default\"](div, {\n            tabs: [\"base\", \"image\", \"magnet\"],\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n        }, div.querySelector(\".wie-container\"));\n        this.inject.updateSearchInfo(\"view\");\n        //绑定收藏按钮\n        const collect = div.querySelector(\"#wie-go-collect\");\n        collect.addEventListener(\"click\", () => {\n            this.startPage(_PageCollect__WEBPACK_IMPORTED_MODULE_26__[\"default\"]);\n        });\n        //绑定关注按钮\n        const follow = div.querySelector(\"#wie-go-follow\");\n        follow.addEventListener(\"click\", () => {\n            this.startPage(_PageActorFollow__WEBPACK_IMPORTED_MODULE_25__[\"default\"]);\n        });\n    }\n    bindToTop(view, conSelector, btnSelector) {\n        // 获取滚动到顶部按钮元素\n        const scrollTopButton = view.querySelector(btnSelector);\n        const container = view.querySelector(conSelector);\n        // 监听页面滚动事件\n        container.addEventListener(\"scroll\", () => {\n            // 获取页面高度和滚动条位置\n            const containerHeight = container.clientHeight;\n            const scrollHeight = container.scrollHeight;\n            const scrollTop = container.scrollTop;\n            // 计算页面底部 20% 的位置\n            const bottom20Percent = (scrollHeight - containerHeight) * 0.4;\n            // 判断是否滚动到了底部 20% 的区域\n            if (scrollTop > bottom20Percent) {\n                // 显示滚动到顶部按钮\n                scrollTopButton.style.display = \"block\";\n            }\n            else {\n                // 隐藏滚动到顶部按钮\n                scrollTopButton.style.display = \"none\";\n            }\n        });\n        // 点击按钮时滚动到页面顶部\n        scrollTopButton.addEventListener(\"click\", function () {\n            container.scrollTo({ top: 0, behavior: \"smooth\" });\n        });\n    }\n}\nPageCode.Name = \"PageCode\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageCode);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageCode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageCollect.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageCollect.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _PageCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n\n\nclass PageCollect extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    // private collect: { [name: string]: IVideo } = {};\n    // protected create(intent: IPage): void {\n    //     intent.loading = false;\n    //     super.create(intent);\n    //     this.collect = this.inject.setting.Collect.codes ?? {};\n    // }\n    get collect() {\n        var _a;\n        return (_a = this.setting.Collect.codes) !== null && _a !== void 0 ? _a : {};\n    }\n    template() {\n        var _a;\n        this.log(\"render\", this.collect);\n        return `\r\n        <wie-area class='no-border'>\r\n            <wie-title>关注番号列表</wie-title>\r\n        </wie-area>\r\n        <div class='wie-scroll'>\r\n            <wie-area class='wie-grid'>\r\n                ${this.renderCodes(Object.values((_a = this.collect) !== null && _a !== void 0 ? _a : {}))}\r\n            </wie-area>\r\n        </div>\r\n        `;\n    }\n    renderCodes(codes) {\n        if (codes.length === 0)\n            return `<wie-null>暂无关注番号</wie-null>`;\n        return codes\n            .map((v, i) => {\n            return `<div class='wie-video-item' index=${v.code} >\r\n                <div class=\"video-item-cover\">\r\n                    <img src=\"${v.cover}\" alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                    <div class=\"wie-video-preview\"></div>\r\n                    <div class='wie-to-top'>\r\n                        <wie-z-tag class='w-from'>${v.from}</wie-z-tag>\r\n                        <wie-z-tag class='${!!v.sub} sub'>中文字幕</wie-z-tag>\r\n                        <wie-z-tag class='${!!v.uhd} 4k'>4K</wie-z-tag>\r\n                        <wie-z-tag class='${!!v.leak} leak'>无码破解</wie-z-tag>\r\n                        <div class='w-title'>${v.name}</div>\r\n                    </div>\r\n                </div>\r\n                    </div>`;\n        })\n            .join(\"\");\n        // <div class='collect'>取消收藏</div>\n    }\n    /**\n     * 收藏\n     * @param code\n     */\n    unCollect(code) {\n        const { Collect } = this.inject.setting;\n        delete Collect.codes[code];\n        this.inject.updateSetting({ Collect });\n    }\n    bindEvent(page) {\n        const collect = this.collect;\n        //绑定点击事件\n        page.querySelectorAll(\".wie-video-item\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = target.getAttribute(\"index\");\n                const video = collect[i];\n                if (!video)\n                    return;\n                //跳转到Code页\n                this.log(`跳转到Code页: `, video, target, i);\n                const { code, cover, name } = video;\n                this.inject.startPage(_PageCode__WEBPACK_IMPORTED_MODULE_1__[\"default\"], { code, cover, title: name });\n            });\n        });\n        //绑定取消收藏事件\n        page.querySelectorAll(\".collect\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = target.parentElement.getAttribute(\"index\");\n                const video = collect[i];\n                this.log(`取消收藏: `, video, target, i);\n                //删除\n                this.unCollect(video.code);\n            });\n        });\n    }\n}\nPageCollect.Name = \"PageCollect\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageCollect);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageCollect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageRank.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageRank.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _UI_UIActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UI/UIActor */ \"./src/Injects/CodeFind/UI/UIActor.ts\");\n/* harmony import */ var _PageActor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-actor-content {\r\n    position: relative;\r\n    border: 1px solid var(--mainBorderColor);\r\n    border-radius: 8px;\r\n    margin: 10px 0 0 0;\r\n    cursor: pointer;\r\n}\r\n\r\n.wie-actor-content:hover{\r\n    border-color: var(--mainColor);\r\n    background-color: var(--mainLLColor);\r\n}\r\n\r\n.wie-actor-content .wie-actor-line:nth-child(2),\r\n.wie-actor-content .wie-actor-line:nth-child(3){\r\n    margin-left: 40px;\r\n}\r\n\r\n.wie-actor-line.important {\r\n    color: #db363c;\r\n    font-weight: 700;\r\n    font-size: 15px;\r\n}\r\n#wie-info-bust wie-card,\r\n#wie-info-hip wie-card  {\r\n    width: 100%;\r\n}\r\n\r\nwie-card.click{\r\n    cursor: pointer;\r\n}\r\n`);\nclass PageRank extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    template() {\n        const { Rank } = this.inject.setting;\n        const { actors, bust, hip } = Rank;\n        return `\r\n            <wie-area class='no-border'>\r\n                <wie-title>浏览演员排行榜</wie-title>\r\n                <div class='wie-tabs'>\r\n                    <wie-tab id=\"wie-tab-bust\">胸围排行</wie-tab>\r\n                    <wie-tab id=\"wie-tab-hip\">臀围排行</wie-tab>\r\n                </div>\r\n            </wie-area>\r\n            <div class='wie-scroll'>\r\n                <wie-area>\r\n                    <div id='wie-info-bust' class='wie-grid'>\r\n                        ${this.renderActors(bust, actors)}\r\n                    </div>\r\n                    <div id='wie-info-hip' class='wie-grid'>\r\n                        ${this.renderActors(hip, actors, \"hip\")}\r\n                    </div>\r\n                </wie-area>\r\n            </div>\r\n        `;\n    }\n    bindEvent(page) {\n        //绑定tab事件\n        const tabs = [\"bust\", \"hip\"];\n        //tab项控制\n        new _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_2__[\"default\"](page, {\n            tabs,\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n            active: tabs.indexOf(this.intent.key),\n        });\n        //添加点击事件\n        page.querySelectorAll(\"wie-card\").forEach((item) => {\n            item.addEventListener(\"click\", () => {\n                const { Rank } = this.inject.setting;\n                const { actors } = Rank;\n                const name = item.getAttribute(\"key\");\n                if (name && actors[name]) {\n                    this.startPage(_PageActor__WEBPACK_IMPORTED_MODULE_4__[\"default\"], Object.assign({}, actors[name]));\n                }\n            });\n        });\n        //屏蔽所有a标签的冒泡\n        page.querySelectorAll(\"a\").forEach((a) => {\n            a.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n            });\n        });\n    }\n    renderActors(rank, actors, type = \"bust\") {\n        if (!rank || rank.length == 0)\n            return `<wie-null>暂无浏览演员</wie-null>`;\n        return rank.map((id, index) => this.ui(_UI_UIActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"], actors[id])).join(\"\");\n    }\n}\nPageRank.Name = \"PageRank\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageRank);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageRank.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/Sync/CommentSync.ts":
    /*!********************************************************!*\
      !*** ./src/Injects/CodeFind/pages/Sync/CommentSync.ts ***!
      \********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nconst CommentSync = [\n    {\n        listen: \"link_JavDB\",\n        name: \"JavDB_C\",\n        url: \"https://javdb.com/\",\n        codeCheck: true,\n        handleUrl: (search, { code, link_JavDB }) => __awaiter(void 0, void 0, void 0, function* () {\n            console.log(\"JavDB_C\", search, code, link_JavDB);\n            if (!link_JavDB)\n                return;\n            return `${link_JavDB}/reviews/lastest`;\n        }),\n        listSelector: \".review-item\",\n        query: {\n            time: \".time\",\n            comment: \".content\",\n        },\n        validate: { required: [\"comment\"] },\n    },\n    {\n        name: \"JavLib_C\",\n        url: \"https://www.javlibrary.com/cn/vl_searchbyid.php?keyword={{code}}\",\n        listSelector: \".comment,.review\",\n        codeCheck: true,\n        check: (res) => {\n            let info = !!res.querySelector(\"#video_jacket_info\");\n            if (info)\n                return true;\n            //否则获取详情页地址\n            let link = res.querySelector(\".videos .video>a\").getAttribute(\"href\");\n            if (link)\n                return link.replace(\".\", \"cn\");\n            return false;\n        },\n        query: {\n            time: \".date\",\n            comment: (item) => {\n                var _a;\n                let comment = (_a = item.querySelector(\"textarea\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                if (!comment)\n                    return;\n                return comment\n                    .replace(/\\[url[\\s\\S]+\\[\\/url\\]/, \"\")\n                    .replace(/\\[img[\\s\\S]+\\[\\/img\\]/, \"\")\n                    .replace(/\\[[\\s\\S]+?\\]/g, \"\")\n                    .replace(/--/g, \"\");\n            },\n        },\n        validate: { required: [\"comment\"] },\n    },\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CommentSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/Sync/CommentSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/Sync/MangetSync.ts":
    /*!*******************************************************!*\
      !*** ./src/Injects/CodeFind/pages/Sync/MangetSync.ts ***!
      \*******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _VideoSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VideoSync */ \"./src/Injects/CodeFind/pages/Sync/VideoSync.ts\");\n\nconst MangetSync = [\n    {\n        name: \"BTSow\",\n        //地址查询https://tellme.pw/btsow\n        url: \"https://btsow.motorcycles/search/{{code}}\",\n        listSelector: \".data-list .row:not(.hidden-xs)\",\n        query: {\n            size: \".size\",\n            time: \".date\",\n            magnet: (res) => `magnet:?xt=urn:btih:${res.querySelector(\"a\").href.split(\"/\").pop()}`,\n            name: \".file\",\n            link: \"a&&href\",\n        },\n        validate: { required: [\"name\", \"magnet\"] },\n        machine: _VideoSync__WEBPACK_IMPORTED_MODULE_0__.InfoMachine,\n    },\n    {\n        name: \"Sukebei\",\n        url: \"https://sukebei.nyaa.si/?f=0&c=0_0&q={{code}}\",\n        listSelector: \".table-responsive table tbody tr\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        query: {\n            size: \"td:nth-child(4)\",\n            time: (res) => res.querySelector(\"td:nth-child(5)\").textContent.split(\" \")[0],\n            magnet: \"td:nth-child(3) a:last-child&&href\",\n            name: \"td:nth-child(2) a\",\n            link: \"td:nth-child(2) a&&href\",\n        },\n        validate: { required: [\"name\", \"magnet\"] },\n        machine: _VideoSync__WEBPACK_IMPORTED_MODULE_0__.InfoMachine,\n    },\n    {\n        name: \"U3C3\",\n        url: \"https://u3c3.shop/?search2=eelja13lfea&search={{code}}\",\n        // url: \"https://u3c3.shop/?search2=eljalfea&search={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".default\",\n        query: {\n            size: (res) => { var _a; return (_a = res.querySelectorAll(\".text-center\")) === null || _a === void 0 ? void 0 : _a[1].textContent; },\n            time: (res) => { var _a; return (_a = res.querySelectorAll(\".text-center\")) === null || _a === void 0 ? void 0 : _a[2].textContent; },\n            magnet: (res) => { var _a; return (_a = res.querySelector(\".fa-magnet\").parentElement) === null || _a === void 0 ? void 0 : _a.href; },\n            name: (res) => res.querySelectorAll(\"td a\")[1].textContent,\n            link: (item) => `https://u3c3.shop${item.querySelectorAll(\"td a\")[1].getAttribute(\"href\")}`,\n        },\n        // check: {\n        //     // codeCheckName: true,\n        // },\n        validate: { required: [\"name\", \"magnet\"], must: { name: \"code\" } },\n        machine: _VideoSync__WEBPACK_IMPORTED_MODULE_0__.InfoMachine,\n    },\n    {\n        name: \"U9A9\",\n        url: \"https://u9a9.de/?type=2&search={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".default\",\n        query: {\n            size: `//td[@class='text-center'][2]`,\n            time: `//td[@class='text-center'][3]`,\n            magnet: \"//a[starts-with(@href, 'magnet:?xt')]&&href\",\n            name: \"//td/a\",\n        },\n        validate: { required: [\"name\", \"magnet\"], must: { name: \"code\" } },\n        machine: _VideoSync__WEBPACK_IMPORTED_MODULE_0__.InfoMachine,\n    },\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MangetSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/Sync/MangetSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/Sync/PageCodeSync.ts":
    /*!*********************************************************!*\
      !*** ./src/Injects/CodeFind/pages/Sync/PageCodeSync.ts ***!
      \*********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Tools/QueryTool */ \"./src/Tools/QueryTool.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _API_Actor_SyncMsin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../API/Actor/SyncMsin */ \"./src/Injects/CodeFind/API/Actor/SyncMsin.ts\");\n/* harmony import */ var _API_Image_Sync3X__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../API/Image/Sync3X */ \"./src/Injects/CodeFind/API/Image/Sync3X.ts\");\n/* harmony import */ var _API_Info_Sync115__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../API/Info/Sync115 */ \"./src/Injects/CodeFind/API/Info/Sync115.ts\");\n/* harmony import */ var _ICodeInfo__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../ICodeInfo */ \"./src/Injects/CodeFind/ICodeInfo.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\n/* harmony import */ var _CommentSync__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./CommentSync */ \"./src/Injects/CodeFind/pages/Sync/CommentSync.ts\");\n/* harmony import */ var _MangetSync__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./MangetSync */ \"./src/Injects/CodeFind/pages/Sync/MangetSync.ts\");\n/* harmony import */ var _SubSync__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SubSync */ \"./src/Injects/CodeFind/pages/Sync/SubSync.ts\");\n/* harmony import */ var _VideoSync__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./VideoSync */ \"./src/Injects/CodeFind/pages/Sync/VideoSync.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst findInfo = (doc, reg, text = true) => {\n    const list = doc.querySelectorAll(\".movie-panel-info .panel-block\");\n    for (let item of list) {\n        const label = item.querySelector(\"strong\");\n        const value = item.querySelector(\".value\");\n        if (label && value && reg.test(label.textContent)) {\n            // this.find.log(\"信息----\", reg, label?.textContent, value?.textContent);\n            return text ? value.textContent : value;\n        }\n    }\n};\nconst PageCodeSync = {\n    update: {\n        magnet: (ma, old, data) => {\n            ma.sort((a, b) => new Date(b.time).getTime() - new Date(a.time).getTime());\n            return ma;\n        },\n        vs: (vs, old, data) => {\n            vs.sort((a, b) => a.from.localeCompare(b.from));\n            return vs;\n        },\n        comment: (data) => {\n            data.sort((a, b) => new Date(b.time).getTime() - new Date(a.time).getTime());\n            return data;\n        },\n        cover: (to, old) => {\n            if (old)\n                return old;\n            return to;\n        },\n        trailer: (to, old) => {\n            if (old)\n                return old;\n            return to;\n        },\n        subs: (to, old, data) => {\n            if (!data.data.zh && to.length > 0)\n                data.update({ zh: true }, { name: \"subs\" });\n            return to;\n        },\n        preview(to, from, data) {\n            return to.filter((url) => !/#/.test(url));\n        },\n    },\n    syncs: [\n        /**\n         * JavDB\n         */\n        {\n            name: \"JavDB\",\n            url: \"https://javdb.com/search?q={{code}}&sb=0\",\n            codeCheck: true,\n            handleUrl: (search, { code }) => __awaiter(void 0, void 0, void 0, function* () {\n                const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].request(search);\n                if (res === false)\n                    return;\n                const list = res.querySelectorAll(\".movie-list .item a\");\n                if (!list.length)\n                    return;\n                code = code.toUpperCase();\n                const item = Array.from(list).find((item) => {\n                    const str = item.querySelector(\"strong\").textContent.toUpperCase();\n                    return str.includes(code);\n                });\n                if (!item)\n                    return;\n                return `${item.getAttribute(\"href\")}`;\n            }),\n            query: {\n                title: \".current-title\",\n                cover: \".video-cover&&src\",\n                link_JavDB: \"LINK\",\n                score: (doc) => {\n                    const info = findInfo(doc, /評分|Rating/);\n                    if (!info)\n                        return;\n                    const [score, num] = info.match(/\\d+\\.?\\d*/g);\n                    return { score: Number(Number(score) * 2 * 10).toFixed(2), num };\n                },\n                tags: (htmlDoc) => {\n                    const value = findInfo(htmlDoc, /類別|Category/);\n                    if (!value)\n                        return;\n                    return value.split(\",\").map((item) => item.trim());\n                },\n                releaseDate: (doc) => { var _a; return (_a = findInfo(doc, /日期|Release Date/)) === null || _a === void 0 ? void 0 : _a.trim(); },\n                series: (doc) => {\n                    const value = findInfo(doc, /系列|Series/, false);\n                    if (!value)\n                        return;\n                    let url = value.querySelector(\"a\").getAttribute(\"href\");\n                    // if (url.indexOf(\"http\") !== 0) url =url;\n                    return { name: value.textContent.trim(), url };\n                },\n                director: (doc) => findInfo(doc, /導演|Director/),\n                studio: (doc) => findInfo(doc, /片商|Studio/),\n                trailer: \"#preview-video source&&src\",\n                duration: (doc) => findInfo(doc, /時長:|Duration/),\n                preview: (doc) => {\n                    const list = Array.from(doc.querySelectorAll(\".preview-images .tile-item\"));\n                    return list.map((item) => item.href);\n                },\n                magnet: (doc, { link }) => {\n                    var _a, _b, _c, _d, _e;\n                    const list = doc.querySelectorAll(\"#magnets-content .item\");\n                    const magnets = [];\n                    for (let item of list) {\n                        const first = item.querySelector(\"a\");\n                        if (!first)\n                            continue;\n                        const size = (_c = (_b = (_a = first.querySelector(\".meta\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : \"\";\n                        const magnet = {\n                            from: \"JavDB\",\n                            name: first.querySelector(\".name\").textContent,\n                            size,\n                            bytes: _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sizeToBytes(size),\n                            link,\n                            magnet: first.href.split(\"&\")[0],\n                            time: (_e = (_d = item.querySelector(\".time\")) === null || _d === void 0 ? void 0 : _d.textContent) !== null && _e !== void 0 ? _e : \"\",\n                            sub: !!first.querySelector(\".tag.is-warning.is-small.is-light\"),\n                        };\n                        magnets.push(magnet);\n                    }\n                    return magnets;\n                },\n                actors: (htmlDoc) => __awaiter(void 0, void 0, void 0, function* () {\n                    const value = findInfo(htmlDoc, /演員|Actor/, false);\n                    if (!value)\n                        return;\n                    const caches = {};\n                    value.textContent\n                        .split(\"\\n\")\n                        .filter((item) => item.includes(\"♀\"))\n                        .map((item) => {\n                        caches[item.replace(\"♀\", \"\").trim()] = true;\n                    });\n                    const list = value.querySelectorAll(\"a\");\n                    const actors = [];\n                    for (let item of list) {\n                        const name = item.textContent.trim();\n                        if (!caches[name])\n                            continue;\n                        const emby = yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].searchActor(name);\n                        const href = item.getAttribute(\"href\");\n                        const id = href.split(\"/\").at(-1);\n                        actors.push({\n                            name,\n                            link: `https://javdb.com${href}`,\n                            avatar: `https://c0.jdbstatic.com/avatars/${id.slice(0, 2).toLowerCase()}/${id}.jpg`,\n                            emby,\n                            cover: yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Instance().getActor(name),\n                        });\n                    }\n                    return actors;\n                }),\n                // emby: async (doc: HTMLElement, { code }: ICodeInfo) => {\n                //     const item = await EmbyTool.embySearch(code);\n                //     if (!item) return;\n                //     return EmbyTool.embyDetailUrl(item);\n                // },\n            },\n        },\n        {\n            name: \"JavLib\",\n            url: \"https://www.javlibrary.com/cn/vl_searchbyid.php?keyword={{code}}\",\n            codeCheck: true,\n            check: (res) => {\n                var _a;\n                let info = !!res.querySelector(\"#video_jacket_info\");\n                if (info)\n                    return true;\n                //否则获取详情页地址\n                let link = (_a = res.querySelector(\".videos .video>a\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\");\n                if (link)\n                    return link.replace(\".\", \"cn\");\n                return false;\n            },\n            query: {\n                title: \"h3>a\",\n                link_JavLib: \"h3>a&&href\",\n                cover: \"#video_jacket_img&&src\",\n                releaseDate: \"#video_date .text\",\n                duration: \"#video_length .header+td\",\n                director: \"#video_director .text\",\n                studio: \"#video_maker a\",\n                tags: \"#video_genres .genre&&textContent&&all\",\n                score_javlib: (res) => {\n                    var _a;\n                    let score = (_a = res.querySelector(\"#video_review .score\")) === null || _a === void 0 ? void 0 : _a.textContent.replace(/[\\(|\\)]/g, \"\");\n                    if (!score)\n                        return;\n                    return { score: Number(score) * 10 };\n                },\n                preview: \".previewthumbs>a&&href&&all\",\n            },\n        },\n        {\n            name: \"Javmenu\",\n            url: \"https://javmenu.com/zh/{{code}}\",\n            check: \".single-video\",\n            codeCheck: false,\n            code: (code) => code.replace(/^FC2-/, \"FC2PPV-\"),\n            query: {\n                title: \"h1 strong\",\n                link_JavMenu: \"LINK\",\n                cover: \".single-video>video&&dataset.poster\",\n            },\n        },\n        /****************************************************************************************\n         *  FC2\n         */\n        {\n            name: \"FC2Msin\",\n            url: \"https://db.msin.jp/branch/search?sort=movie&str=FC2-PPV-{{code}}\",\n            codeCheck: false,\n            code: (code) => code.replace(\"FC2-\", \"\"),\n            query: {\n                title: \".mv_title\",\n                cover: \".movie_img&&src\",\n                duration: \".mv_duration\",\n                releaseDate: \".mv_createDate\",\n                director: \".mv_writer\",\n                studio: \".mv_mfr\",\n                actors: (htmlDoc) => {\n                    var _a, _b, _c, _d, _e;\n                    const list = htmlDoc.querySelectorAll(\".performer_box\");\n                    const actors = [];\n                    for (let i = 0; i < list.length; i++) {\n                        if (!list[i].querySelector(\".performer_cnt\"))\n                            continue;\n                        actors.push({\n                            name: (_b = (_a = list[i].querySelector(\".performer_text\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.replace(\"(FC2動画)\", \"\"),\n                            avatar: (_c = list[i].querySelector(\".performer_image img\")) === null || _c === void 0 ? void 0 : _c.getAttribute(\"src\"),\n                            time: `共出演(${(_d = list[i].querySelector(\".performer_cnt\")) === null || _d === void 0 ? void 0 : _d.textContent})部影片`,\n                            link_m: \"https://db.msin.jp\" + ((_e = list[i].querySelector(\"a\")) === null || _e === void 0 ? void 0 : _e.getAttribute(\"href\")),\n                        });\n                    }\n                    if (actors.length === 0)\n                        return;\n                    return actors;\n                },\n            },\n        },\n        {\n            name: \"FC2\",\n            url: \"https://adult.xiaojiadianmovie.be/article/{{code}}/\",\n            check: \".items_article_wrapper\",\n            codeCheck: false,\n            code: (code) => code.replace(/^FC2-/, \"\"),\n            query: {\n                title: \"h3\",\n                cover: \".items_article_MainitemThumb img&&src\",\n                preview: (htmlDoc) => {\n                    const list = htmlDoc.querySelectorAll(\".items_article_SampleImagesArea a\");\n                    const preview = [];\n                    for (let i = 0; i < list.length; i++) {\n                        preview.push(list[i].href);\n                    }\n                    return preview;\n                },\n                score: (htmlDoc) => {\n                    var _a;\n                    const item = htmlDoc.querySelector(\".items_article_Stars\");\n                    return {\n                        score: Number((_a = item.querySelector(\"a>p>span\")) === null || _a === void 0 ? void 0 : _a.className.match(/\\d+/)) * 2,\n                        num: Number(item.textContent.replace(/\\n/g, \"\")),\n                        total: 10,\n                    };\n                },\n                trailer: (htmlDoc, { code }) => __awaiter(void 0, void 0, void 0, function* () {\n                    var _a, _b;\n                    const res = (_b = (_a = htmlDoc.head\n                        .querySelector(\"script:last-child\")\n                        .innerHTML) === null || _a === void 0 ? void 0 : _a.match(/(?<=ae', ').*?(?=')/)) === null || _b === void 0 ? void 0 : _b.at(0);\n                    if (!res)\n                        return;\n                    const url = `https://adult.xiaojiadianmovie.be/api/v2/videos/${code.split(\"-\").at(-1)}/sample`;\n                    const ret = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].request(url, {}, \"GET\", {\n                        responseType: \"json\",\n                        headers: { \"X-FC2-Contents-Access-Token\": res },\n                    });\n                    return ret.path;\n                }),\n                tags: \".tag.tagTag&&textContent&&all\",\n                director: (htmlDoc, info) => {\n                    var _a, _b, _c;\n                    if (info.director)\n                        return info.director;\n                    return (_c = (_b = (_a = htmlDoc.querySelector(\".items_article_StarA\")) === null || _a === void 0 ? void 0 : _a.nextElementSibling) === null || _b === void 0 ? void 0 : _b.querySelector(\"a\")) === null || _c === void 0 ? void 0 : _c.textContent;\n                },\n                comment: (res, { link }) => {\n                    const list = res.querySelectorAll(\".items_article_reviewComp ul\");\n                    const comments = [];\n                    _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(\"FC2\", list.length, list);\n                    for (let item of list) {\n                        // const comment = item.querySelector(\".content\")?.textContent;\n                        const date = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(item, `//span[@class='userDatareview']`);\n                        const comment = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].querySelector(item, `//span[@class='userDatareview']/following-sibling::span`);\n                        if (!comment)\n                            continue;\n                        comments.push({ from: \"FC2\", comment: comment.textContent, time: date === null || date === void 0 ? void 0 : date.textContent });\n                    }\n                    return comments;\n                },\n            },\n        },\n        {\n            name: \"AVPreview\",\n            url: \"https://avpreview.com/API/v1.0/index.php\",\n            codeCheck: true,\n            check: (res) => {\n                if (res.status_code === 401)\n                    return false;\n                return true;\n            },\n            http: {\n                options: {\n                    responseType: \"json\",\n                },\n                headers: (code) => {\n                    _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(\"--code\", code);\n                    return {\n                        system: \"videos\",\n                        action: \"detail\",\n                        // return \"adn00451\";\n                        contentid: code\n                            .split(\"-\")\n                            .map((item) => item.toLowerCase())\n                            .join(\"00\"),\n                        sitecode: \"avpreview\",\n                        ip: \"\",\n                        token: \"\",\n                    };\n                },\n            },\n            query: {\n                trailer: ({ videos }) => __awaiter(void 0, void 0, void 0, function* () {\n                    var _c, _d;\n                    const playList = (_d = (_c = videos.trailer) === null || _c === void 0 ? void 0 : _c.replace(\"/hlsvideo/\", \"/litevideo/\")) === null || _d === void 0 ? void 0 : _d.replace(\"/playlist.m3u8\", \"\");\n                    if (!playList)\n                        return;\n                    const contentId = playList.split(\"/\").at(-1);\n                    //更新预览\n                    let url = yield _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].checkUrl([`${playList}/${contentId}_dmb_w.mp4`, `${playList}/${contentId}_mhb_w.mp4`, `${playList}/${contentId}_dm_w.mp4`, `${playList}/${contentId}_sm_w.mp4`]);\n                    return url;\n                }),\n                actors: ({ casts: actor }, info) => __awaiter(void 0, void 0, void 0, function* () {\n                    var _e, _f, _g;\n                    if (((_e = info.actors) === null || _e === void 0 ? void 0 : _e.length) <= 4)\n                        return info.actors;\n                    const caches = {};\n                    (_f = info.actors) === null || _f === void 0 ? void 0 : _f.forEach((item) => {\n                        caches[item.name] = item;\n                    });\n                    const actors = [];\n                    for (let index = 0; index < actor.length; index++) {\n                        const item = actor[index];\n                        const { name_jp: name, bloodtype: blood, birthday, bust, cup, height, hip, hobbies_jp: hobby, photo: avatar, waist } = item;\n                        const old = caches[name];\n                        if (old)\n                            delete caches[name];\n                        caches[name] = {\n                            name,\n                            cover: yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Instance().getActor(name),\n                            blood,\n                            birthday,\n                            bust,\n                            cup,\n                            height,\n                            hip,\n                            hobby,\n                            avatar: (_g = old === null || old === void 0 ? void 0 : old.avatar) !== null && _g !== void 0 ? _g : avatar,\n                            waist,\n                            link: old === null || old === void 0 ? void 0 : old.link,\n                            emby: old === null || old === void 0 ? void 0 : old.emby,\n                        };\n                    }\n                    for (let item of Object.values(caches)) {\n                        //同步演员大图\n                        item.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Instance().getActor(item.name);\n                        actors.push(item);\n                    }\n                    return actors;\n                }),\n            },\n        },\n        new _API_Image_Sync3X__WEBPACK_IMPORTED_MODULE_7__[\"default\"](),\n        new _API_Actor_SyncMsin__WEBPACK_IMPORTED_MODULE_6__[\"default\"](),\n        new _API_Info_Sync115__WEBPACK_IMPORTED_MODULE_8__[\"default\"](),\n        {\n            name: \"Emby\",\n            url: \"http://192.168.1.11:8096/emby/Items?searchTerm={{code}}&Recursive=true&Fields=ChannelMappingInfo,DateCreated,Tags\",\n            http: {\n                headers: () => {\n                    const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance.setting;\n                    if (!Emby.api_key)\n                        throw new Error(\"请设置Emby api_Key\");\n                    return { api_key: Emby.api_key };\n                },\n                options: {\n                    responseType: \"json\",\n                },\n            },\n            query: {\n                emby: (doc, { code }) => __awaiter(void 0, void 0, void 0, function* () {\n                    const item = doc.Items.find((item) => item.Name.includes(code));\n                    if (!item)\n                        return;\n                    return _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].detailUrl(item);\n                }),\n            },\n        },\n        {\n            name: \"MemoJav\",\n            url: \"https://memojav.com/video/{{code}}\",\n            codeCheck: true,\n            query: { image: \"#preview-img&&src\" },\n        },\n        {\n            name: \"AirAv\",\n            url: \"https://www.airav.wiki/video/{{code}}\",\n            codeCheck: true,\n            query: {\n                title: \".videoDataBlock h5\",\n                desc: (res) => { var _a, _b; return (_b = (_a = res.querySelector(\".synopsis\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.replace(\"劇情\", \"\"); },\n            },\n        },\n        {\n            name: \"Qbit\",\n            url: \"http://localhost:8080/api/v2/sync/maindata?rid=60&lqagv5uf\",\n            http: { options: { responseType: \"json\" } },\n            code: (code) => code.replace(\"FC2-\", \"\"),\n            query: {\n                qt: (res, { code }) => {\n                    var _a;\n                    const torrents = (_a = res === null || res === void 0 ? void 0 : res.torrents) !== null && _a !== void 0 ? _a : {};\n                    // this.log(\"syncQt\", code, torrents);\n                    for (const item in torrents) {\n                        const torrent = torrents[item];\n                        // this.log(\"syncQt\", torrent, code.toLocaleLowerCase(), torrent.name.toLocaleLowerCase());\n                        if (torrent.name.toLowerCase().includes(code.toLowerCase())) {\n                            //判断是否下载完成\n                            if (torrent.progress === 1)\n                                return _ICodeInfo__WEBPACK_IMPORTED_MODULE_9__.QTType.DOWNLOADED;\n                            //判断是否下载中\n                            return _ICodeInfo__WEBPACK_IMPORTED_MODULE_9__.QTType.DOWNLOADING;\n                        }\n                    }\n                    return _ICodeInfo__WEBPACK_IMPORTED_MODULE_9__.QTType.NULL;\n                },\n            },\n        },\n    ],\n    //https://freejavbt.com/\n    lists: {\n        subs: _SubSync__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n        magnet: _MangetSync__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n        vs: _VideoSync__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n        comment: _CommentSync__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n    },\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageCodeSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/Sync/PageCodeSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/Sync/SubSync.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/pages/Sync/SubSync.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nconst SubSync = [\n    {\n        name: \"SubtitleCat\",\n        url: \"https://www.subtitlecat.com/index.php?search={{code}}\",\n        listSelector: \".sub-table td>a\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        query: {\n            name: (item, { code }) => {\n                var _a;\n                if (!((_a = item.textContent.toLowerCase()) === null || _a === void 0 ? void 0 : _a.includes(code.replace(\"FC2-\", \"\").toLowerCase()))) {\n                    return;\n                }\n                return item.textContent;\n            },\n            href: {\n                selector: \"\",\n                url: true,\n                handle: (item, info, data) => __awaiter(void 0, void 0, void 0, function* () {\n                    var _a;\n                    if (!data.name)\n                        return;\n                    const url = \"https://www.subtitlecat.com/\" + item.getAttribute(\"href\");\n                    const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url);\n                    if (!res)\n                        return;\n                    return (_a = res.querySelector(\"img[src='/assets/flags/cn.png']\").parentElement.parentElement.querySelector(\".green-link\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\");\n                }),\n            },\n        },\n        validate: { required: [\"name\", \"href\"] },\n    },\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SubSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/Sync/SubSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/Sync/VideoSync.ts":
    /*!******************************************************!*\
      !*** ./src/Injects/CodeFind/pages/Sync/VideoSync.ts ***!
      \******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   InfoMachine: () => (/* binding */ InfoMachine),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst InfoMachine = {\n    uhd: [\"name\", /4k|4K/i],\n    leak: [\"name\", /(无码|破解|無碼|泄漏|破壊版|Uncensored|無修正|uncensored-leak)/i],\n    sub: [\"name\", /中字|中文|-C/i],\n};\nconst VideoSync = [\n    {\n        name: \"Jable\",\n        url: \"https://jable.tv/videos/{{code}}/\",\n        codeCheck: true,\n        query: {\n            name: \".info-header h4\",\n            sub: \".info-header .header-right h6\",\n            cover: \"video&&poster\",\n        },\n        validate: { required: [\"name\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"Missav\",\n        url: \"https://missav.com/cn/search/{{code}}\",\n        listSelector: \".thumbnail.group\",\n        query: {\n            name: \"img&&alt\",\n            sub: `//*[contains(text(), \"中文字幕\")]&&BOOL`,\n            leak: `//*[contains(text(), \"无码\")]&&BOOL`,\n            //  (res: HTMLElement) => {\n            //     return (res.querySelector(\"video\") as HTMLElement)?.[\"dataset\"]?.poster;\n            // },\n        },\n        validate: { required: [\"name\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"NJav\",\n        url: \"https://njav.tv/zh/search?keyword={{code}}\",\n        host: \"https://njav.tv/zh\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".box-item\",\n        query: {\n            name: \".detail a\",\n            link: \".detail a&&href\",\n            leak: '//a[contains(text(),\"未经审查泄露\")]&&BOOL',\n        },\n        validate: { required: [\"name\"], must: { name: \"code\" } },\n        machine: InfoMachine,\n    },\n    {\n        name: \"SuperAV\",\n        url: \"https://supjav.com/zh/?s={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".posts .post\",\n        query: {\n            link: \"a.img[title]&&href\",\n            name: \"a.img[title]&&title\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"NETFLAV\",\n        url: \"https://netflav5.com/search?type=title&keyword={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".grid_0_cell\",\n        query: {\n            // link: (res: HTMLElement) => {\n            //     return \"https://netflav5.com\" + res.querySelector(\".grid_0_cell>a\")?.getAttribute(\"href\");\n            // },\n            link: \".grid_0_cell>a&&href\",\n            name: \".grid_0_cell>a>.grid_0_title\",\n        },\n        validate: { required: [\"name\", \"link\"], must: { name: \"code\" } },\n        // check: { codeCheckName: true },\n        machine: InfoMachine,\n    },\n    {\n        name: \"Avgle\",\n        url: \"https://avgle.com/search/videos?search_query={{code}}&search_type=videos\",\n        codeCheck: true,\n        listSelector: \".well\",\n        query: {\n            link: \"a&&href\",\n            // link: (res: HTMLElement) => {\n            //     return \"https://avgle.com\" + res.querySelector(\"a\")?.getAttribute(\"href\");\n            // },\n            name: \".well .video-title\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"JavMenu_V\",\n        url: \"https://javmenu.com/zh/{{code}}\",\n        code: (code) => code.replace(/^FC2-/, \"FC2PPV-\"),\n        query: {\n            name: \"h1 strong\",\n        },\n        machine: InfoMachine,\n        check: \".single-video>video\",\n        // check: {\n        //     // video: \"a.nav-link[aria-controls='pills-0']\",\n        //     video: \"#player1\",\n        // },\n    },\n    {\n        name: \"Guru\",\n        url: \"https://jav.guru/?s={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        query: {\n            name: \".imgg>a img&&alt\",\n            link: \".imgg>a&&href\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"JavMost\",\n        url: \"https://javmost.cx/search/{{code}}/\",\n        codeCheck: true,\n        listSelector: \".card\",\n        query: {\n            name: \"a>h5\",\n            link: \"a&&href\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"HayAV\",\n        url: \"https://hayav.com/video/{{code}}/\",\n        codeCheck: true,\n        query: {\n            name: \"h1.entry-title\",\n            // link: \".imgg>a&&href\",\n        },\n        validate: { required: [\"name\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"AvJoy\",\n        url: \"https://avjoy.me/search/videos/{{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \"#wrapper .content-info\",\n        query: {\n            name: \".content-title\",\n            link: \".content-info>a&&href\",\n        },\n        machine: InfoMachine,\n    },\n    {\n        name: \"JavFC2\",\n        url: \"https://javfc2.net/?s={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        query: {\n            name: \"article.loop-video .entry-header\",\n            link: \"article.loop-video>a&&href\",\n        },\n        // check: { codeCheckName: true },\n        validate: { required: [\"name\", \"link\"], must: { name: \"code\" } },\n        machine: InfoMachine,\n    },\n    {\n        name: \"Baihuse\",\n        url: \"https://paipancon.com/search/{{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        query: {\n            name: \"div.card h3\",\n            link: \"div.col>div.card>a&&href\",\n            // link: (res: HTMLElement) => {\n            //     return \"https://paipancon.com\" + res.querySelector(\"div.col>div.card>a\")?.getAttribute(\"href\");\n            // },\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"GGJav\",\n        url: \"https://ggjav.com/main/search?string={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".columns.item\",\n        query: {\n            name: \".item_title\",\n            link: (res) => {\n                var _a;\n                return \"https://ggjav.com\" + ((_a = res.querySelector(\"a\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\"));\n            },\n        },\n        // check: { codeCheckName: true },\n        validate: { required: [\"name\", \"link\"], must: { name: \"code\" } },\n        machine: InfoMachine,\n    },\n    {\n        name: \"AV01\",\n        url: \"https://www.av01.tv/search/videos?search_query={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \"#wrapper .well\",\n        query: {\n            name: \".video-title\",\n            link: \"a&&href\",\n            // link: (res: HTMLElement) => {\n            //     return \"https://www.av01.tv\" + res.querySelector(\"a\")?.getAttribute(\"href\");\n            // },\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"18sex\",\n        url: \"https://www.18sex.org/cn/search/{{code}}/\",\n        codeCheck: true,\n        listSelector: \".main-columns .card\",\n        query: {\n            name: \"h5\",\n            link: \"a&&href\",\n            // link: (res: HTMLElement) => {\n            //     return \"https://www.18sex.org\" + res.querySelector(\"a\")?.getAttribute(\"href\");\n            // },\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"HighPorn\",\n        url: \"https://highporn.net/search/videos?search_query={{code}}\",\n        codeCheck: true,\n        query: {\n            name: \".well>a[href]>span.video-title\",\n            link: \".well>a&&href\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"EvoJav\",\n        // url: \"https://evojav.pro/video/{{code}}/\",\n        url: \"https://evojav.pro/zh/?s={{code}}\",\n        code: (code) => code.replace(\"FC2-\", \"\"),\n        listSelector: \".posts .post\",\n        query: {\n            name: \"h3\",\n            link: \"h3>a&&href\",\n        },\n        validate: { required: [\"name\"] },\n        machine: InfoMachine,\n    },\n    {\n        name: \"18av\",\n        url: \"https://18av.mm-cg.com/zh/fc_search/all/{{code}}/1.html\",\n        listSelector: \".posts .post\",\n        query: {\n            name: \"h3\",\n            link: \"h3>a&&href\",\n        },\n        validate: { required: [\"name\", \"link\"] },\n        machine: InfoMachine,\n    },\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/Sync/VideoSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyDetail.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Emby/EmbyDetail.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPInject */ \"./src/Plugin/WPInject/WPInject.ts\");\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _EmbyItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmbyItem */ \"./src/Injects/Emby/EmbyItem.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nconst Style = `\r\n.wie-emby-image{\r\n    border: 2px solid #ffffff;\r\n    display: inline-block;\r\n    margin: 10px 20px 10px 0;\r\n    vertical-align: top;\r\n    border-radius: 5px;\r\n}\r\n`;\nclass EmbyDetail extends _Plugin_WPInject_WPInject__WEBPACK_IMPORTED_MODULE_0__.WPInject {\n    constructor() {\n        super(...arguments);\n        this.Match = [/web\\/index\\.html[\\s\\S]+\\/item\\?/];\n        /** 绑定设置 */\n        this.set = new _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.Name, this.CName);\n        this.timer = 1000;\n    }\n    onStart() {\n        const parent = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].select(\"div[is='emby-scroller']:not(.hide) .mainDetailButtons\");\n        if (!_EmbyItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"].EmbyClient())\n            return;\n        //检测是否添加过\n        let potPlayer = document.querySelectorAll(\"div[is='emby-scroller']:not(.hide) #potPlayer\")[0];\n        if (potPlayer)\n            return;\n        this.embyItem = new _EmbyItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n        this.inject(parent);\n        // return false;\n    }\n    inject(parent) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            const itemInfo = yield this.embyItem.getItemInfo();\n            if (!itemInfo)\n                return;\n            //添加PotPlayer按钮\n            this.addButton(parent, \"potPlayer\", \"PotPlayer\", () => this.onPotPlayerClick(), \"\");\n            //获取番号\n            const { Path } = itemInfo;\n            //添加复制视频目录\n            let path = (_a = Path.match(/([\\s\\S]+)\\\\/)) === null || _a === void 0 ? void 0 : _a[1];\n            if (path)\n                this.addButton(parent, \"copyVideoPath\", \"复制\", () => _WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].copy(path, \"已成功复制信息到粘贴板\"), \"\");\n            //注入预览图\n            this.previewInject();\n        });\n    }\n    /**\n     * 预览图注入\n     * @returns\n     */\n    previewInject() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const itemInfo = yield this.embyItem.getItemInfo();\n            //获取预览图\n            const { BackdropImageTags = [], Id } = itemInfo;\n            const peopleSection = document.querySelectorAll(\"div[is='emby-scroller']:not(.hide) .similarSection\")[0];\n            if (!peopleSection)\n                return;\n            let html = `<div class=\"imageSection\" style=\"margin: 10px 0 0 97px;\">`;\n            Array.from(new Set(BackdropImageTags)).forEach((img, index) => {\n                //第一个为背景图,不进行展示\n                if (index === 0)\n                    return;\n                let url = `http://${window.location.host}/emby/Items/${Id}/Images/Backdrop/${index}?tag=${img}`;\n                html += `<img class='wie-emby-image'  src=\"${url}\" alt=\"\" />`;\n            });\n            html += `</div>`;\n            peopleSection.insertAdjacentHTML(\"afterbegin\", html);\n        });\n    }\n    /**\n     * 点击播放按钮\n     */\n    onPotPlayerClick() {\n        return __awaiter(this, void 0, void 0, function* () {\n            //获取视频信息\n            let mediaInfo = yield this.embyItem.selectMediaInfo();\n            //let poturl = `potplayer://${encodeURI(mediaInfo.streamUrl)} /sub=${encodeURI(mediaInfo.subUrl)} /current /title=${encodeURI(intent.title)} /seek=${getSeek(intent.position)}`;\n            let url = `potplayer://${encodeURI(mediaInfo.streamUrl)} /sub=${encodeURI(mediaInfo.subUrl)} /title=${mediaInfo.itemInfo.FileName.replace(/\\s/g, \"\")}`;\n            window.open(url, \"_blank\");\n        });\n    }\n    addButton(parent, id, title, callback, icon, tooltip, style, trans) {\n        if (!parent)\n            return this.warn(\"未找到按钮位置\", id, title);\n        //添加到第一个位置\n        let html = `<button id=\"${id}\" type=\"button\" style='${style}' class=\"detailButton emby-button ${trans ? \"\" : \"emby-button-backdropfilter raised-backdropfilter\"} detailButton-primary\" title=\"${tooltip !== null && tooltip !== void 0 ? tooltip : title}\">\r\n            <div class=\"detailButton-content\">\r\n                <i class=\"md-icon detailButton-icon button-icon button-icon-left\">${icon}</i>\r\n                <span class=\"button-text\">${title}</span>\r\n            </div>\r\n        </button>`;\n        parent.insertAdjacentHTML(\"afterbegin\", html);\n        document.querySelector(`div[is='emby-scroller']:not(.hide) #${id}`).onclick = callback;\n    }\n}\nEmbyDetail.CName = \"Emby详情页\";\nEmbyDetail.Name = \"EmbyDetail\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbyDetail);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyDetail.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyItem.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Emby/EmbyItem.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EmbyItem)\n/* harmony export */ });\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n/**\n * EmbyClient类\n */\nclass EmbyItem {\n    getItemInfo() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.itemInfo)\n                this.itemInfo = yield this.ItemInfo();\n            return this.itemInfo;\n        });\n    }\n    static EmbyClient() {\n        try {\n            return ApiClient;\n        }\n        catch (e) {\n            return null;\n        }\n    }\n    /**\n     * 获取当前播放的视频信息\n     * @returns\n     */\n    ItemInfo() {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            //用户ID\n            let userId = ApiClient._serverInfo.UserId;\n            //当前播放的视频ID\n            let itemId = (_a = /[\\?&]id=(\\d*)/.exec(window.location.hash)) === null || _a === void 0 ? void 0 : _a[1];\n            if (!itemId)\n                return null;\n            //当前播放的视频信息\n            let response = yield ApiClient.getItem(userId, itemId);\n            //继续播放当前剧集的下一集\n            if (response.Type == \"Series\") {\n                let seriesNextUpItems = yield ApiClient.getNextUpEpisodes({ SeriesId: itemId, UserId: userId });\n                return yield ApiClient.getItem(userId, seriesNextUpItems.Items[0].Id);\n            }\n            //播放当前季season的第一集\n            if (response.Type == \"Season\") {\n                let seasonItems = yield ApiClient.getItems(userId, { parentId: itemId });\n                return yield ApiClient.getItem(userId, seasonItems.Items[0].Id);\n            }\n            //播放当前集或电影\n            console.log(\"[Emby解析器]\", \"当前视频: \", response);\n            return response;\n        });\n    }\n    /**\n     * 获取Emby媒体信息\n     * @returns { intent:\"视频信息\",subUrl:\"字幕地址\",streamUrl:\"视频地址\" }\n     */\n    selectMediaInfo() {\n        return __awaiter(this, void 0, void 0, function* () {\n            //获取视频信息\n            let itemInfo = yield this.getItemInfo();\n            if (!itemInfo)\n                return null;\n            //获取视频ID\n            let mediaSourceId = itemInfo.MediaSources[0].Id;\n            //如果有选中视频资源,则当前选中视频的ID\n            let selectSource = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectSource\");\n            if (selectSource && selectSource.value.length > 0) {\n                mediaSourceId = selectSource.value;\n            }\n            //let selectAudio = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectAudio\");\n            //获取选中的视频资源\n            let mediaSource = itemInfo.MediaSources.find((m) => m.Id == mediaSourceId);\n            //\n            let domain = `${ApiClient._serverAddress}/emby/videos/${itemInfo.Id}`;\n            //获取字幕地址\n            let subPath = this.getSubPath(mediaSource);\n            //生成字幕地址\n            let subUrl = subPath.length > 0 ? `${domain}${subPath}?api_key=${ApiClient.accessToken()}` : \"\";\n            //生成视频地址\n            let streamUrl = `${domain}/stream.${mediaSource.Container}?api_key=${ApiClient.accessToken()}&Static=true&MediaSourceId=${mediaSourceId}`;\n            //获取用户上次播放位置\n            let position = parseInt(itemInfo.UserData.PlaybackPositionTicks / 10000 + \"\");\n            //获取视频intent信息\n            let intent = this.getIntent(mediaSource, position);\n            // console.log(\"[Emby解析器]\", streamUrl, subUrl, intent);\n            return {\n                streamUrl: streamUrl,\n                subUrl: subUrl,\n                intent: intent,\n                itemInfo,\n            };\n        });\n    }\n    /**\n     * 获取视频intent信息\n     */\n    getIntent(mediaSource, position) {\n        //视频标题\n        let title = mediaSource.Path.split(\"/\").pop();\n        //额外的视频信息\n        let externalSubs = mediaSource.MediaStreams.filter((m) => m.IsExternal == true);\n        let subs = \"\"; //要求是android.net.uri[] ?\n        let subs_name = \"\";\n        let subs_filename = \"\";\n        let subs_enable = \"\";\n        if (externalSubs) {\n            subs_name = externalSubs.map((s) => s.DisplayTitle);\n            subs_filename = externalSubs.map((s) => s.Path.split(\"/\").pop());\n        }\n        return {\n            title: title,\n            position: position,\n            subs: subs,\n            subs_name: subs_name,\n            subs_filename: subs_filename,\n            subs_enable: subs_enable,\n        };\n    }\n    getSubPath(mediaSource) {\n        let selectSubtitles = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectSubtitles\");\n        let subTitlePath = \"\";\n        //返回选中的外挂字幕\n        if (selectSubtitles && Number(selectSubtitles.value) > 0) {\n            if (mediaSource.MediaStreams[selectSubtitles.value].IsExternal) {\n                let subtitleCodec = mediaSource.MediaStreams[selectSubtitles.value].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${selectSubtitles.value}/Stream.${subtitleCodec}`;\n            }\n        }\n        else {\n            //默认尝试返回第一个外挂中文字幕\n            let chiSubIndex = mediaSource.MediaStreams.findIndex((m) => m.Language == \"chi\" && m.IsExternal);\n            if (chiSubIndex > -1) {\n                let subtitleCodec = mediaSource.MediaStreams[chiSubIndex].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${chiSubIndex}/Stream.${subtitleCodec}`;\n            }\n            else {\n                //尝试返回第一个外挂字幕\n                let externalSubIndex = mediaSource.MediaStreams.findIndex((m) => m.IsExternal);\n                if (externalSubIndex > -1) {\n                    let subtitleCodec = mediaSource.MediaStreams[externalSubIndex].Codec;\n                    subTitlePath = `/${mediaSource.Id}/Subtitles/${externalSubIndex}/Stream.${subtitleCodec}`;\n                }\n            }\n        }\n        return subTitlePath;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyItem.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbySelect.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Emby/EmbySelect.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPInject */ \"./src/Plugin/WPInject/WPInject.ts\");\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n\n\n\n/**\n * 支持url上key自动填充到搜索框中,并查询\n */\nclass EmbySelect extends _Plugin_WPInject_WPInject__WEBPACK_IMPORTED_MODULE_0__.WPInject {\n    constructor() {\n        super(...arguments);\n        /** 绑定设置 */\n        this.set = new _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.Name, this.CName);\n        this.Match = [/list\\/list\\.html\\?type=search/, /key=/];\n        /** 间隔10秒一次 */\n        this.timer = 1000;\n    }\n    onStart() {\n        let input = document.getElementById(\"embyinput1\");\n        const input0 = document.getElementById(\"embyinput0\");\n        if (!input0)\n            return;\n        let key = _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getValue(\"key\");\n        if (!key)\n            return;\n        key = decodeURIComponent(key);\n        input.value = key;\n        this.injectSearch(key, input0);\n        return false;\n    }\n    injectSearch(code, input) {\n        if (!input) {\n            console.error(\"WIE\", \"EmbySelect injectSearch\", \"input id embyinput0 not found\");\n            return;\n        }\n        input.value = code;\n        let evt = document.createEvent(\"HTMLEvents\");\n        evt.initEvent(\"input\", true, true);\n        input.dispatchEvent(evt);\n    }\n}\nEmbySelect.Name = \"EmbySelect\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbySelect);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbySelect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyTool.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Emby/EmbyTool.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EmbyTool)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass EmbyTool extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    static url(url, key = true) {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.setting;\n        url = `${Emby.host}${url}`;\n        if (key)\n            url += `&api_key=${Emby.api_key}`;\n        return url;\n    }\n    /**\n     * 从emby搜索\n     * @param title\n     */\n    static embySearch(title) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            // const { Emby } = WIE.Instance.setting;\n            // const url = `${Emby.host}emby/Items?searchTerm=${title}&Recursive=true&Fields=ChannelMappingInfo&api_key=${Emby.api_key}`;\n            const url = this.url(`emby/Items?searchTerm=${title}&Recursive=true&Fields=ChannelMappingInfo`);\n            const data = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].json(url);\n            // this.log(\"embySearc datah\", url, data);\n            return (_a = data === null || data === void 0 ? void 0 : data.Items) === null || _a === void 0 ? void 0 : _a[0];\n        });\n    }\n    /**\n     * 搜索演员\n     * @param name\n     * @returns\n     */\n    static searchActor(name) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.setting;\n            if (!Emby.host || !Emby.apiKey)\n                return;\n            const data = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].json(this.url(`Persons?searchTerm=${name}`));\n            return (_a = data === null || data === void 0 ? void 0 : data.Items) === null || _a === void 0 ? void 0 : _a[0];\n        });\n    }\n    static detailUrl(video) {\n        if (!video)\n            return;\n        return this.url(`web/index.html#!/item?serverId=${video.ServerId}&id=${video.Id}`, false);\n    }\n    static actorUrl(actor) {\n        if (!actor)\n            return;\n        return this.url(\"web/index.html#!/item?id=\" + actor.Id + \"&serverId=\" + actor.ServerId, false);\n    }\n    static embyItem(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.setting;\n            const url = this.url(`emby/Users/${Emby.userId}/Items/${id}?Fields=ChannelMappingInfo`);\n            return yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].json(url);\n        });\n    }\n    static embyItems(parentId) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            // const parentId = UrlTool.getValue(\"parentId\") ?? \"15164\"; //\"5757\"; //\"15164\";\n            const url = this.url(`emby/Items?IncludeItemTypes=Movie&Recursive=true&Fields=ChannelMappingInfo,DateCreated,Tags,Chapters&StartIndex=0&ParentId=${parentId}&EnableImageTypes=Primary%2CBackdrop%2CThumb&ImageTypeLimit=1&Limit=1000&EnableTotalRecordCount=false&SortBy=DateCreated&&SortOrder=Descending`);\n            return (_a = (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].json(url))) === null || _a === void 0 ? void 0 : _a.Items;\n        });\n    }\n    static embyItemUpdate(id, data = {}) {\n        return __awaiter(this, void 0, void 0, function* () {\n            data = Object.assign({ ProviderIds: { Imdb: \"\", Tmdb: \"\", Tvdb: \"\" }, Id: id }, data);\n            const url = this.url(`emby/Items/${id}?X-Emby-Client=Emby%20Web&X-Emby-Device-Name=Microsoft%20Edge%20Windows&X-Emby-Device-Id=af7bbe77-e8ef-41b5-b170-05cc00093a4f&X-Emby-Client-Version=4.7.11.0&X-Emby-Language=zh-cn&reqformat=json`);\n            const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(url, JSON.stringify(data), \"POST\", {\n                headers: {\n                    \"Content-Type\": \"text/plain\",\n                },\n            });\n        });\n    }\n    // public static embyCover(id: string, tag: string) {\n    //     return this.url(`emby/Items/${id}/Images/Thumb?tag=${tag}`, false);\n    // }\n    // /**\n    //  * potPlayerUrl\n    //  * @param itemInfo\n    //  * @returns\n    //  */\n    // public static potPlayerUrl(itemInfo: IItem) {\n    //     const { Emby } = WIE.Instance.setting;\n    //     this.log(\"potPlayerUrl\", itemInfo);\n    //     if (!itemInfo.MediaSources || itemInfo.MediaSources.length === 0) return;\n    //     let mediaSource = itemInfo.MediaSources[0];\n    //     let domain = `${Emby.host}emby/videos/${itemInfo.Id}`;\n    //     //获取字幕地址\n    //     let subPath = this.getSubPath(mediaSource);\n    //     //生成字幕地址\n    //     let subUrl = subPath.length > 0 ? `${domain}${subPath}?api_key=${Emby.apiKey}` : \"\";\n    //     //生成视频地址\n    //     let streamUrl = `${domain}/stream.${mediaSource.Container}?api_key=${Emby.apiKey}&Static=true&MediaSourceId=${mediaSource.Id}`;\n    //     return `potplayer://${encodeURI(streamUrl)} /sub=${encodeURI(subUrl)} /title=${itemInfo.FileName.replace(/\\s/g, \"\")}`;\n    // }\n    static getSubPath(mediaSource) {\n        let subTitlePath = \"\";\n        //返回选中的外挂字幕\n        //默认尝试返回第一个外挂中文字幕\n        let chiSubIndex = mediaSource.MediaStreams.findIndex((m) => m.Language == \"chi\" && m.IsExternal);\n        if (chiSubIndex > -1) {\n            let subtitleCodec = mediaSource.MediaStreams[chiSubIndex].Codec;\n            subTitlePath = `/${mediaSource.Id}/Subtitles/${chiSubIndex}/Stream.${subtitleCodec}`;\n        }\n        else {\n            //尝试返回第一个外挂字幕\n            let externalSubIndex = mediaSource.MediaStreams.findIndex((m) => m.IsExternal);\n            if (externalSubIndex > -1) {\n                let subtitleCodec = mediaSource.MediaStreams[externalSubIndex].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${externalSubIndex}/Stream.${subtitleCodec}`;\n            }\n        }\n        return subTitlePath;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/HLSetting.ts":
    /*!********************************************!*\
      !*** ./src/Injects/Highlight/HLSetting.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ HLSetting)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n\n\nclass HLSetting extends _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    template(data) {\n        let keywords = this.keyword();\n        if (Array.isArray(keywords) === false)\n            keywords = [];\n        const global = this.globalKeyword();\n        this.log(\"Setting  render\", this.setting, keywords, global);\n        return `<wie-area>\r\n        <wie-name>关键词匹配</wie-name>\r\n            ${this.ui(_UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `HostWords.global.keywords`, \"全局关键词匹配\")}\r\n            ${this.ui(_UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `HostWords.${this.host()}.keywords`, \"当前网站关键词匹配\")}\r\n        </wie-area>\r\n    `;\n    }\n    host() {\n        return location.host.replace(/\\./g, \"_\");\n    }\n    keyword() {\n        var _a;\n        const host = this.host();\n        let { keywords } = (_a = this.setting.HostWords[host]) !== null && _a !== void 0 ? _a : {};\n        if (!Array.isArray(keywords) && keywords)\n            keywords = keywords === null || keywords === void 0 ? void 0 : keywords.split(\",\");\n        return keywords !== null && keywords !== void 0 ? keywords : [];\n    }\n    globalKeyword() {\n        var _a;\n        let { keywords } = (_a = this.setting.HostWords.global) !== null && _a !== void 0 ? _a : {};\n        if (!Array.isArray(keywords) && keywords)\n            keywords = keywords === null || keywords === void 0 ? void 0 : keywords.split(\",\");\n        return keywords !== null && keywords !== void 0 ? keywords : [];\n    }\n    allKeyword() {\n        return [...this.globalKeyword(), ...this.keyword()];\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/HLSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/Highlight.ts":
    /*!********************************************!*\
      !*** ./src/Injects/Highlight/Highlight.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPMenuInject */ \"./src/Plugin/WPInject/WPMenuInject.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _Keyword__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Keyword */ \"./src/Injects/Highlight/Keyword.ts\");\n/* harmony import */ var _HLSetting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HLSetting */ \"./src/Injects/Highlight/HLSetting.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\nconst Style = `\r\n    wie-keyword{\r\n        background: var(--mainColor);\r\n        color: var(--mainTextColor);\r\n        border-radius: 0 6px 0 6px;\r\n        padding: 0 5px;\r\n        margin: 0 2px;\r\n        cursor: pointer;\r\n        transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n        position: relative;\r\n        box-sizing: border-box;\r\n        display: inline-block;\r\n        overflow: hidden;\r\n        vertical-align: inherit;\r\n    }\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _findCode_decorators;\n    let _search_decorators;\n    return _a = class Hightlight extends _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.Match = (__runInitializers(this, _instanceExtraInitializers), [/\\/t66y\\//]);\n                /** 绑定设置 */\n                this.set = new _HLSetting__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.Name, this.CName);\n            }\n            onStart() {\n                this.addStyle(Style);\n                this.keywordTool = new _Keyword__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this);\n                //添加样式\n                this.updateKeywordColor();\n            }\n            updateKeywordColor() {\n                const colors = this.setting.colors;\n                const style = colors.map((color, index) => `.wie-keyword-${index + 1}{background: ${color}}`).join(\"\\n\");\n                this.addStyle(style);\n            }\n            // public getMatch(): RegExp | RegExp[] {\n            //     return this.setting.Match.map((match) => new RegExp(match));\n            // }\n            onLoaded() {\n                //监听dom变化\n                this.createObserver();\n                //查找code\n                this.findCode();\n            }\n            // 动态添加的元素, 检查所有父元素的class是否是排除项\n            checkParentClass(startDom) {\n                var _a;\n                //兼容SuperAV 下替换的元素\n                if (((_a = startDom.tagName) === null || _a === void 0 ? void 0 : _a.startsWith(\"WIE-\")) || startDom.tagName === \"IFRAME\") {\n                    // this.log(\"checkParentClass: 父元素存在相关class, 已排除: \", startDom.className);\n                    return true;\n                }\n                if (startDom.parentElement && \"body\" !== startDom.parentElement.nodeName) {\n                    return this.checkParentClass(startDom.parentElement);\n                }\n                return false;\n            }\n            /**\n             * 创建监听\n             */\n            createObserver() {\n                this.startObserver((mutations) => {\n                    mutations.forEach((mutation) => {\n                        if (mutation.target.nodeType == 1 && mutation.target.querySelector(\"wie-code\"))\n                            return;\n                        if (this.checkParentClass(mutation.target))\n                            return;\n                        clearTimeout(this.timeout);\n                        this.timeout = setTimeout(() => {\n                            this.findCode();\n                        }, 1000);\n                    });\n                });\n            }\n            // /**\n            //  * 启动监听\n            //  */\n            // private startObserver() {\n            //     this.observer?.observe(document.body, {\n            //         attributes: true,\n            //         childList: true,\n            //         characterData: true,\n            //         subtree: true,\n            //     });\n            // }\n            /**\n             * 复制Code\n             * @param e\n             * @returns\n             */\n            saveID(code, e) {\n                e.preventDefault();\n                //手机端不支持复制\n                // if (WIE.Instance.isMobile) return;\n                this.copy(code);\n                return false;\n            }\n            /**\n             * 查找code\n             */\n            findCode() {\n                //暂停观察\n                this.disconnect();\n                //Code查询\n                // this.codes.forEach((code) => code.findCode());\n                //启动观察\n                this.keywordTool.findCode();\n                //启动观察\n                this.createObserver();\n            }\n            updateSetting(setting) {\n                super.updateSetting(setting);\n                this.findCode();\n            }\n            get delayTime() {\n                return this.engine.setting.Enter;\n            }\n            search(code, div) {\n                this.log(\"关键词\", code);\n                //检测是否跟当前页面显示的一致\n                // if ((this.stack[this.stack.length - 1]?.intent as ICodeInfo)?.code === code) {\n                //     //检测弹框是否关闭\n                //     if (WiePopup.Instance.show()) this.resume();\n                //     return;\n                // }\n                // if (div) {\n                //     this.setVisit(code);\n                //     div.classList.add(\"visited\");\n                // }\n                this.log(\"search startPage\", code);\n                // this.startPage(PageCode, { code });\n            }\n            /**\n             * 格式化\n             * @param code\n             * @param portion\n             * @param parent\n             */\n            keywordMatch(code, portion, parent = null) {\n                // this.log(\"keywordMatch\", code, portion, parent);\n                // const text = match[0];\n                if (portion.node.parentNode.tagName === \"WIE-KEYWORD\")\n                    return;\n                //检测是否为弹框中内容\n                if (this.checkParentClass(portion.node.parentNode))\n                    return;\n                return this.createDiv(`${code}`, {\n                    tag: \"wie-keyword\",\n                    events: {\n                        mouseenter: (e) => {\n                            this.search(code, e.target);\n                        },\n                        // mouseleave: (e) => this.searchCancel(e.target as HTMLElement),\n                        click: this.saveID.bind(this, code),\n                    },\n                    // className: this.isVisit(code) ? \"visited\" : \"\",\n                    className: `wie-keyword-${this.getIndex(code)}`,\n                    // tooltip: `正在打开中...${this.engine.setting.Enter}ms`,\n                    // style: `background: ${this.setting.colors[this.setting.colors.length % 7]}`,\n                    parent,\n                });\n            }\n            getIndex(keyword) {\n                const keywords = this.Setting().allKeyword();\n                const colors = this.setting.colors;\n                for (let i = 0; i < keywords.length; i++) {\n                    if (new RegExp(keywords[i]).test(keyword))\n                        return (i % colors.length) + 1;\n                }\n            }\n        },\n        (() => {\n            _findCode_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Delay];\n            _search_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Delay];\n            __esDecorate(_a, null, _findCode_decorators, { kind: \"method\", name: \"findCode\", static: false, private: false, access: { has: obj => \"findCode\" in obj, get: obj => obj.findCode } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _search_decorators, { kind: \"method\", name: \"search\", static: false, private: false, access: { has: obj => \"search\" in obj, get: obj => obj.search } }, null, _instanceExtraInitializers);\n        })(),\n        _a.Name = \"Hightlight\",\n        _a.CName = \"高亮显示\",\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/Highlight.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/Keyword.ts":
    /*!******************************************!*\
      !*** ./src/Injects/Highlight/Keyword.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Keyword)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/findAndReplaceDOMText */ \"./src/lib/findAndReplaceDOMText.js\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass Keyword extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(inject) {\n        super();\n        this.inject = inject;\n    }\n    reg() {\n        //获取当前网站的关键词\n        let keywords = this.inject.Setting().allKeyword();\n        if (keywords.length > 0 && Array.isArray(keywords))\n            return new RegExp(keywords.join(\"|\"), \"gi\");\n    }\n    /**\n     * 查找code\n     */\n    findCode() {\n        const reg = this.reg();\n        if (!reg)\n            return;\n        _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__(document.body, {\n            find: reg,\n            preset: \"prose\",\n            forceContext: _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__.NON_INLINE_PROSE,\n            replace: (portion, match) => {\n                const text = match[0];\n                //匹配Code\n                // const code = this.match(portion, text);\n                // if (!code) return \"\";\n                //匹配到Code\n                return this.inject.keywordMatch(text, portion) || text;\n            },\n        });\n    }\n}\n// /**\n//  * 格式化Code\n//  * @param text\n//  * @returns\n//  */\n// protected formatCode(text: string) {\n//     text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n//     if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n//         var oindex = text.search(/\\d/);\n//         if (oindex > 0) {\n//             text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n//         }\n//     }\n//     // 判断3位数字写成2位的\n//     // if (text.match(/-\\d{2}$/) && localInfo[avID] && localInfo[avID].noInfo) {\n//     //     let avID2 = text.replace(\"-\", \"-0\");\n//     //     if (localInfo[avID2]) {\n//     //         avID = avID2;\n//     //     }\n//     // }\n//     return text.toUpperCase();\n// }\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/Keyword.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/index.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Highlight/index.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Highlight__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Highlight */ \"./src/Injects/Highlight/Highlight.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Highlight__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/IVideo.ts":
    /*!************************************!*\
      !*** ./src/Injects/M3U8/IVideo.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   VideoEnum: () => (/* binding */ VideoEnum)\n/* harmony export */ });\nvar VideoEnum;\n(function (VideoEnum) {\n    /** 类型 */\n    VideoEnum[\"Video\"] = \"Video\";\n    /** 视频 */\n    VideoEnum[\"M3U8\"] = \"M3U8\";\n})(VideoEnum || (VideoEnum = {}));\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/IVideo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/M3U8.ts":
    /*!**********************************!*\
      !*** ./src/Injects/M3U8/M3U8.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPMenuInject */ \"./src/Plugin/WPInject/WPMenuInject.ts\");\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _IVideo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./IVideo */ \"./src/Injects/M3U8/IVideo.ts\");\n/* harmony import */ var _Videos__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Videos */ \"./src/Injects/M3U8/Videos.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nconst m3u8Parser = window.m3u8Parser;\nconst unsafeWindow = window.unsafeWindow || window;\nconst style = `\r\n\r\n`;\nclass M3U8 extends _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(engine) {\n        super(engine);\n        /** 绑定设置 */\n        this.set = new _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.Name, this.CName);\n        this.urls = new Set();\n        this.videos = [];\n        this.addStyle(style);\n    }\n    onStart() {\n        //操作\n        this.listen();\n        //启动response监听\n        this.checkResponse();\n        //启动request监听\n        this.checkRequest();\n        //启动\n        this.doVideos();\n        setInterval(this.doVideos.bind(this), 1000);\n    }\n    thatwind() {\n        if (location.host === \"tools.thatwind.com\" || location.host === \"localhost:3000\") {\n            this.addStyle(\"#userscript-tip{display:none !important;}\");\n            // 对请求做代理\n            const _fetch = window.fetch;\n            window.fetch = function (...args) {\n                return __awaiter(this, void 0, void 0, function* () {\n                    try {\n                        let response = yield _fetch(...args);\n                        if (response.status !== 200)\n                            throw new Error(response.status + \"\");\n                        return response;\n                    }\n                    catch (e) {\n                        // 失败请求使用代理\n                        if (args.length == 1) {\n                            console.log(`请求代理:${args[0]}`);\n                            return yield new Promise((resolve, reject) => {\n                                let referer = new URLSearchParams(location.hash.slice(1)).get(\"referer\");\n                                let headers = {};\n                                if (referer) {\n                                    referer = new URL(referer);\n                                    headers = {\n                                        origin: referer.origin,\n                                        referer: referer.href,\n                                    };\n                                }\n                                _Tools_GM__WEBPACK_IMPORTED_MODULE_2__[\"default\"].GM_xmlhttpRequest({\n                                    method: \"GET\",\n                                    url: args[0],\n                                    responseType: \"arraybuffer\",\n                                    headers,\n                                    onload(r) {\n                                        resolve({\n                                            status: r.status,\n                                            headers: new Headers(r.responseHeaders\n                                                .split(\"\\n\")\n                                                .filter((n) => n)\n                                                .map((s) => s.split(/:\\s*/))\n                                                .reduce((all, [a, b]) => {\n                                                all[a] = b;\n                                                return all;\n                                            }, {})),\n                                            text() {\n                                                return __awaiter(this, void 0, void 0, function* () {\n                                                    return r.responseText;\n                                                });\n                                            },\n                                            arrayBuffer() {\n                                                return __awaiter(this, void 0, void 0, function* () {\n                                                    return r.response;\n                                                });\n                                            },\n                                        });\n                                    },\n                                    onerror() {\n                                        reject(new Error());\n                                    },\n                                });\n                            });\n                        }\n                        else {\n                            throw e;\n                        }\n                    }\n                });\n            };\n            return;\n        }\n    }\n    checkResponse() {\n        const _r_text = unsafeWindow.Response.prototype.text;\n        const that = this;\n        unsafeWindow.Response.prototype.text = function () {\n            return new Promise((resolve, reject) => {\n                _r_text\n                    .call(this)\n                    .then((text) => {\n                    resolve(text);\n                    if (that.checkContent(text))\n                        that.doM3U8(this.url, text);\n                })\n                    .catch(reject);\n            });\n        };\n    }\n    listen() {\n        unsafeWindow.addEventListener(\"message\", (e) => {\n            if (e.data === \"wie-m3u8-title-get\") {\n                let name = `top-title-${Date.now()}`;\n                this.setValue(name, document.title);\n                e.source.postMessage(`wie-m3u8-title:${name}`, \"*\");\n            }\n        });\n    }\n    checkRequest() {\n        const _open = unsafeWindow.XMLHttpRequest.prototype.open;\n        const that = this;\n        unsafeWindow.XMLHttpRequest.prototype.open = function (...args) {\n            this.addEventListener(\"load\", function () {\n                try {\n                    let content = this.responseText;\n                    if (that.checkContent(content))\n                        that.doM3U8(args[1], content);\n                }\n                catch (e) {\n                    // console.log(e);\n                }\n            });\n            // checkUrl(args[1]);\n            return _open.apply(this, args);\n        };\n    }\n    checkContent(content) {\n        if (content.trim().startsWith(\"#EXTM3U\")) {\n            return true;\n        }\n    }\n    /**\n     * 开始下载\n     * @param url\n     * @param content\n     */\n    doM3U8(url, content) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const u = new URL(url);\n            //判断是否包含该url\n            if (this.urls.has(u.href))\n                return;\n            // 解析 m3u\n            content = content || (yield (yield fetch(url)).text());\n            const parser = new m3u8Parser.Parser();\n            parser.push(content);\n            parser.end();\n            const manifest = parser.manifest;\n            if (manifest.segments) {\n                let duration = 0;\n                manifest.segments.forEach((segment) => {\n                    duration += segment.duration;\n                });\n                manifest.duration = duration;\n            }\n            const duration = manifest.duration ? manifest.duration : manifest.playlists ? -2 : -1;\n            this.showVideo(_IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.M3U8, url, duration);\n        });\n    }\n    doVideos() {\n        for (let v of Array.from(document.querySelectorAll(\"video\"))) {\n            if (!v.src)\n                continue;\n            if (!v.duration)\n                continue;\n            if (!v.src.startsWith(\"http\"))\n                continue;\n            //直接新窗口打开\n            this.showVideo(_IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.Video, v.src, v.duration);\n        }\n    }\n    showVideo(type, url, duration, title) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.urls.has(url))\n                return;\n            this.urls.add(url);\n            const video = { url, duration, type, title };\n            this.videos.push(video);\n            this.startPage(_Videos__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { videos: [...this.videos] });\n        });\n    }\n}\nM3U8.Name = \"M3U8\";\nM3U8.CName = \"视频下载\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (M3U8);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/M3U8.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/UIVideos.ts":
    /*!**************************************!*\
      !*** ./src/Injects/M3U8/UIVideos.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIVideos)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CodeFind/SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _IVideo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./IVideo */ \"./src/Injects/M3U8/IVideo.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\nconst M3u8Icon = `<svg t=\"1695691843105\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4581\" width=\"128\" height=\"128\"><path d=\"M562.9952 717.9776c0-115.2 93.3888-208.5376 208.5376-208.5376 43.1104 0 83.1488 13.1072 116.3776 35.4816V279.0912c0-69.9392-56.7296-126.6688-126.6688-126.6688H227.5328c-69.9392 0-126.6688 56.7296-126.6688 126.6688v434.8416c0 69.9392 56.7296 126.6688 126.6688 126.6688h375.3472c-25.0368-34.4576-39.8848-76.8-39.8848-122.624z\" fill=\"#7B79FF\" p-id=\"4582\"></path><path d=\"M771.5328 717.9776m-151.7568 0a151.7568 151.7568 0 1 0 303.5136 0 151.7568 151.7568 0 1 0-303.5136 0Z\" fill=\"#7B79FF\" p-id=\"4583\"></path><path d=\"M781.2608 826.4704c-9.6256 0-18.5856-4.9664-23.7056-13.2096l-79.9744-129.792a27.8016 27.8016 0 0 1 9.1136-38.2976 27.8528 27.8528 0 0 1 38.2976 9.1136l53.248 86.4256 40.3968-83.9168c6.656-13.824 23.296-19.712 37.1712-13.0048 13.8752 6.656 19.6608 23.296 13.0048 37.1712l-62.464 129.792a27.78112 27.78112 0 0 1-23.6544 15.7184h-1.4336zM415.8464 646.2976c-12.3904 0-24.832-3.2768-36.096-9.7792-22.6304-13.056-36.096-36.4544-36.096-62.5664V401.8688c0-26.112 13.5168-49.5104 36.096-62.5664 22.6304-13.056 49.6128-13.056 72.2432 0l149.0432 86.016c22.6304 13.056 36.096 36.4544 36.096 62.5664 0 26.112-13.5168 49.5104-36.096 62.5664l-149.0432 86.0672c-11.3152 6.5024-23.7568 9.7792-36.1472 9.7792z m0.0512-258.3552c-3.2256 0-5.7344 1.1776-7.0144 1.8944-2.6112 1.4848-6.912 5.0688-6.912 12.032v172.0832c0 6.9632 4.352 10.5472 6.912 12.032 2.0992 1.1776 7.6288 3.6352 13.8752 0l149.0432-86.0672c6.2464-3.6352 6.9632-9.6256 6.9632-12.032 0-2.4064-0.6656-8.3968-6.9632-12.032l-149.0432-86.016a13.6704 13.6704 0 0 0-6.8608-1.8944z\" fill=\"#FFFFFF\" p-id=\"4584\"></path></svg>`;\nconst VideoIcon = `<svg t=\"1695693212235\" class=\"wie-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"11406\" width=\"128\" height=\"128\"><path d=\"M704 0H192c-35.328 0-64 28.672-64 64v320h576c35.328 0 64 28.672 64 64v415.744c0 35.328-28.672 64-64 64H128v31.744c0 35.328 28.672 64 64 64h768c35.328 0 64-28.672 64-64v-640L704 0z\" fill=\"#EAEAEA\" p-id=\"11407\"></path><path d=\"M704 0v256c0 35.328 28.672 64 64 64h256L704 0z\" fill=\"#434854\" p-id=\"11408\"></path><path d=\"M768 320l256 256V320z\" opacity=\".1\" p-id=\"11409\"></path><path d=\"M704 832c0 17.92-14.336 31.744-31.744 31.744H31.744C13.824 863.744 0 849.408 0 832V480.256c0-17.92 14.336-31.744 31.744-31.744h640c17.92 0 31.744 14.336 31.744 31.744V832z\" fill=\"#724AE2\" p-id=\"11410\"></path><path d=\"M537.088 547.84c9.728 0 14.336 4.608 14.336 13.824v132.608h18.944c9.728 0.512 14.336 4.608 14.336 13.312s-5.12 13.312-15.36 13.312h-18.432v37.888c-0.512 9.728-5.12 14.336-13.824 14.336s-13.312-5.12-13.312-15.36v-36.864h-79.36c-12.8-0.512-19.456-4.096-19.456-11.776 0-4.096 1.536-7.68 4.096-11.776l94.208-141.312 0.512-1.024c3.584-4.608 8.192-7.168 13.312-7.168z m-302.592-1.536c7.168 0 11.264 5.12 11.264 15.872v193.536c0 10.752-4.608 15.872-11.264 15.872s-11.264-5.12-11.264-15.872V622.08l-44.544 140.8c-2.048 6.144-8.192 8.704-12.288 8.704s-10.24-3.072-12.288-8.704l-46.08-140.8v133.632c0 10.752-6.144 15.872-12.8 15.872s-12.8-5.12-12.8-15.872V562.176c0-10.752 5.632-15.872 12.8-15.872 4.608 0 10.752 3.072 12.8 8.704L166.4 728.064l56.832-173.056c2.048-6.144 6.144-8.704 11.264-8.704z m121.856 0c35.328 0 63.488 28.672 63.488 64 0 34.816-27.648 62.976-62.464 64h-33.28v79.872c0 8.704-7.168 15.872-15.872 15.872-8.192 0-15.36-6.656-15.872-14.848V562.176c0-8.192 6.656-15.36 14.848-15.872h49.152z m166.912 58.368l-59.904 90.112h59.904v-90.112z m-166.912-26.624h-31.744v64h31.744c17.92 0 31.744-14.848 31.744-32.256s-13.824-31.744-31.744-31.744z\" fill=\"#FFFFFF\" p-id=\"11411\"></path></svg>`;\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_3__[\"default\"].add(`\r\n.wie-f-video {\r\n    padding: 10px;\r\n    font-size: 12px;\r\n    border-bottom: 1px solid #ffffff29;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    border-bottom: 1px solid var(--mainColor);\r\n    vertical-align: middle;\r\n}\r\n\r\n.wie-f-video span {\r\n    display: inline-block;\r\n    color: var(--color);\r\n    line-height: 20px;\r\n}\r\n\r\n.wie-f-video .type svg{\r\n    width: 20px;\r\n    height: 20px;\r\n    vertical-align: middle;\r\n}\r\n.wie-f-video .download {\r\n    margin:0;\r\n}\r\n\r\n`);\nclass UIVideos extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"videos\"];\n    }\n    template(videos = []) {\n        this.log(\"videos\", videos, videos[0]);\n        return videos\n            .map((video, i) => {\n            var _a;\n            //计算时长\n            let duration = \"未知\";\n            if (video.duration > 0)\n                duration = `${_Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].numberToTime(video.duration)}`;\n            return `\r\n            <div class='wie-f-video'>\r\n                <span class='type'>${video.type === _IVideo__WEBPACK_IMPORTED_MODULE_5__.VideoEnum.M3U8 ? M3u8Icon : VideoIcon} ${(_a = video.title) !== null && _a !== void 0 ? _a : \"\"}</span>\r\n                <span>时长:${duration}</span>\r\n                <wie-btn class='download' index=${i}>${_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Download} 下载</wie-btn>\r\n            </div>\r\n        `;\n        })\n            .join(\"\");\n    }\n    bindEvent(div, videos = []) {\n        //需解决403问题\n        div.querySelectorAll(\".download\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                this.download(videos[parseInt(target.getAttribute(\"index\"))]);\n            });\n        });\n    }\n    download(video) {\n        this.log(\"开始下载\", video);\n        switch (video.type) {\n            case _IVideo__WEBPACK_IMPORTED_MODULE_5__.VideoEnum.M3U8:\n                this.downloadM3U8(new URL(video.url));\n                break;\n            default:\n                _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].openInTab(video.url, { active: true });\n                break;\n        }\n    }\n    downloadM3U8(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // const urlObj = new URL(url)\n            //   urlObj.searchParams.append('title', getTitle())\n            //   m3u8Target = urlObj.href\n            //'http://blog.luckly-mjw.cn/tool-show/m3u8-downloader/index.html?source=' + m3u8Target\n            _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_openInTab(`https://tools.thatwind.com/tool/m3u8downloader#${new URLSearchParams({\n                m3u8: url.href,\n                referer: location.href,\n                filename: (yield this.getTopTitle()) || \"\",\n            })}`);\n        });\n    }\n    getTopTitle() {\n        return new Promise((resolve) => {\n            const l = function (e) {\n                return __awaiter(this, void 0, void 0, function* () {\n                    if (typeof e.data === \"string\") {\n                        if (e.data.startsWith(\"wie-m3u8-title:\")) {\n                            let name = e.data.slice(\"wie-m3u8-title:\".length);\n                            yield new Promise((r) => setTimeout(r, 5)); // 等5毫秒 确定 setValue 已经写入\n                            resolve(_Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_getValue(name, \"\"));\n                            _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_deleteValue(name);\n                            window.removeEventListener(\"message\", l);\n                        }\n                    }\n                });\n            };\n            window.addEventListener(\"message\", l);\n            window.top.postMessage(\"wie-m3u8-title-get\", \"*\");\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/UIVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/Videos.ts":
    /*!************************************!*\
      !*** ./src/Injects/M3U8/Videos.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Videos)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPFixed_PageFixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPFixed/PageFixed */ \"./src/Plugin/WPFixed/PageFixed.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _UIVideos__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UIVideos */ \"./src/Injects/M3U8/UIVideos.ts\");\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-f-videos{\r\n    padding:0 0 10px 0;\r\n}\r\n`);\nclass Videos extends _Plugin_WPFixed_PageFixed__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.pageWidth = 200;\n    }\n    isShow() {\n        return this.intent.videos.length > 0;\n    }\n    tip() {\n        const length = this.intent.videos.length;\n        return length > 0 ? length + \"\" : undefined;\n    }\n    template(intent) {\n        this.log(\"template\", intent, this.intent);\n        return `\r\n        <div class='wie-f-videos'>\r\n            ${this.ui(_UIVideos__WEBPACK_IMPORTED_MODULE_2__[\"default\"])}\r\n        </div>\r\n       `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/Videos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/index.ts":
    /*!***********************************!*\
      !*** ./src/Injects/M3U8/index.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _M3U8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./M3U8 */ \"./src/Injects/M3U8/M3U8.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_M3U8__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Magnet/Magnet.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Magnet/Magnet.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPMenuInject */ \"./src/Plugin/WPInject/WPMenuInject.ts\");\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CodeFind/SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\nconst style = `\r\nbutton[magnet-url]{\r\n    all: initial;\r\n    border: none;\r\n    outline: none;\r\n    background: none;\r\n    background: #f7d308;\r\n    background: #08a6f7;\r\n    margin: 2px 8px;\r\n    border-radius: 0 3px 0 3px;\r\n    color: white;\r\n    cursor: pointer;\r\n    display: inline-flex;\r\n    height: 1.6em;\r\n    padding: 0 8px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    transition: background .15s;\r\n    text-decoration: none;\r\n    font-size: small;\r\n}\r\nbutton[magnet-url]>svg{\r\n    height: 60%;\r\n    fill: white;\r\n    pointer-events: none;\r\n}\r\nbutton[magnet-url]:hover{\r\n    background: #fae157;\r\n    background: #39b9f9;\r\n}\r\nbutton[magnet-url]:active{\r\n    background: #dfbe07;\r\n    background: #0797df;\r\n}\r\nbutton[magnet-url]>span{\r\n    pointer-events: none;\r\n    font-size: small;margin-right: .5em;font-weight:bold;color:white !important;\r\n}\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _work_decorators;\n    return _a = class Magnet extends _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor(engine) {\n                super(engine);\n                /** 绑定设置 */\n                this.set = (__runInitializers(this, _instanceExtraInitializers), new _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.Name, this.CName));\n                this.onEvents = (e) => {\n                    if (e.target.hasAttribute(\"wie-magnet\")) {\n                        e.preventDefault();\n                        e.stopPropagation();\n                        if (e.type == \"click\") {\n                            // let a = document.createElement(\"a\");\n                            // a.href = \"https://www.diancigaoshou.com/#\" + new URLSearchParams({ url: e.target.getAttribute(\"magnet-url\") });\n                            // a.target = \"_blank\";\n                            // a.click();\n                            this.copy(e.target.getAttribute(\"wie-magnet\"));\n                        }\n                    }\n                };\n            }\n            onStart() {\n                //操作\n                this.addStyle(style);\n                // this.log(\"onStart\");\n                window.addEventListener(\"click\", this.onEvents, true);\n                window.addEventListener(\"mousedown\", this.onEvents, true);\n                window.addEventListener(\"mouseup\", this.onEvents, true);\n                this.work();\n                this.startObserver((mutations) => this.work());\n            }\n            getAllTextNodes(parent) {\n                let re = [];\n                if ([\"STYLE\", \"SCRIPT\", \"BASE\", \"COMMAND\", \"LINK\", \"META\", \"TITLE\", \"XTRANS-TXT\", \"XTRANS-TXT-GROUP\", \"XTRANS-POPUP\"].includes(parent.tagName))\n                    return re;\n                for (let node of parent.childNodes) {\n                    if (node.childNodes.length)\n                        re = re.concat(this.getAllTextNodes(node));\n                    else if (Text.prototype.isPrototypeOf(node) && !node.nodeValue.match(/^\\s*$/))\n                        re.push(node);\n                }\n                return re;\n            }\n            work() {\n                //开始又变化\n                // return;\n                if (!document.body)\n                    return;\n                if (this.hasPlainMagUrlThatNotHandled()) {\n                    for (let node of this.getAllTextNodes(document.body)) {\n                        if (node.nextSibling && node.nextSibling.hasAttribute && node.nextSibling.hasAttribute(\"wie-magnet\"))\n                            continue;\n                        // if (node.hasAttribute(\"magnet-url\")) continue;\n                        // if (node.hasAttribute(\"wie-magnet\")) continue;\n                        let text = node.nodeValue;\n                        if (!Magnet.MAGNET_REG.test(text))\n                            continue;\n                        let match = text.match(Magnet.MAGNET_REG);\n                        if (match) {\n                            let url = match[0];\n                            let p = node.parentNode;\n                            // this.log(\"work\", url, text, match);\n                            p.insertBefore(document.createTextNode(text.slice(0, match.index + url.length)), node);\n                            p.insertBefore(this.createWatchButton(url), node);\n                            p.insertBefore(document.createTextNode(text.slice(match.index + url.length)), node);\n                            p.removeChild(node);\n                        }\n                    }\n                }\n                for (let a of Array.from(document.querySelectorAll([\"href\", \"value\", \"data-clipboard-text\", \"data-value\", \"title\", \"alt\", \"data-url\", \"data-magnet\", \"data-copy\"].map((n) => `[${n}*=\"magnet:?xt=urn:btih:\"]`).join(\",\")))) {\n                    const nextSibling = a.nextSibling;\n                    if (nextSibling && nextSibling.hasAttribute && nextSibling.hasAttribute(\"wie-magnet\"))\n                        continue; // 已经添加\n                    if (a.hasAttribute(\"wie-magnet\"))\n                        continue;\n                    if (Magnet.MAGNET_REG.test(a.textContent))\n                        continue;\n                    for (let attr of a.getAttributeNames()) {\n                        let val = a.getAttribute(attr);\n                        if (!Magnet.MAGNET_REG.test(val))\n                            continue;\n                        let url = val.match(Magnet.MAGNET_REG)[0];\n                        a.parentNode.insertBefore(this.createWatchButton(url), a.nextSibling);\n                    }\n                }\n            }\n            hasPlainMagUrlThatNotHandled() {\n                let m = document.body.textContent.match(new RegExp(Magnet.MAGNET_REG, \"g\"));\n                return document.querySelectorAll(`[wie-magnet]`).length != (m ? m.length : 0);\n            }\n            createWatchButton(url) {\n                let button = document.createElement(\"span\");\n                button.setAttribute(\"wie-magnet\", url);\n                button.innerHTML = `<wie-btn class='wie-magnet-magnet' wie-magnet=\"${url}\">${_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Copy} 复制链接</wie-btn>\r\n        <a href='${url}' wie-magnet=\"${url}\" class='wie-btn' target='_blank' referrerpolicy='same-origin'>${_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Download} 下载</a>`;\n                return button;\n            }\n        },\n        (() => {\n            _work_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__.DelayTime)(100)];\n            __esDecorate(_a, null, _work_decorators, { kind: \"method\", name: \"work\", static: false, private: false, access: { has: obj => \"work\" in obj, get: obj => obj.work } }, null, _instanceExtraInitializers);\n        })(),\n        _a.Name = \"Magnet\",\n        _a.CName = \"磁力显示\",\n        _a.MAGNET_REG = /magnet:\\?xt=urn:btih:\\w{10,}([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/,\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Magnet/Magnet.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Magnet/index.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Magnet/index.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Magnet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Magnet */ \"./src/Injects/Magnet/Magnet.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Magnet__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Magnet/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Pages/PageSearch.ts":
    /*!************************************************!*\
      !*** ./src/Injects/Search/Pages/PageSearch.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ PageSearch)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n/* harmony import */ var _UI_UILoading__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../UI/UILoading */ \"./src/UI/UILoading.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind/BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _CodeFind_UI_UIEmby__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../CodeFind/UI/UIEmby */ \"./src/Injects/CodeFind/UI/UIEmby.ts\");\n/* harmony import */ var _CodeFind_UI_UIMagnet__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../CodeFind/UI/UIMagnet */ \"./src/Injects/CodeFind/UI/UIMagnet.ts\");\n/* harmony import */ var _CodeFind_UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../CodeFind/UI/UISyncsProgress */ \"./src/Injects/CodeFind/UI/UISyncsProgress.ts\");\n/* harmony import */ var _CodeFind_UI_UIVideos__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../CodeFind/UI/UIVideos */ \"./src/Injects/CodeFind/UI/UIVideos.ts\");\n/* harmony import */ var _CodeFind_pages_Sync_MangetSync__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../CodeFind/pages/Sync/MangetSync */ \"./src/Injects/CodeFind/pages/Sync/MangetSync.ts\");\n/* harmony import */ var _Sync_VideoSync__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Sync/VideoSync */ \"./src/Injects/Search/Sync/VideoSync.ts\");\n\n\n\n\n\n\n\n\n\n\n// export interface ISearch extends IPage, ICodeInfo {\n//     /** 搜索关键词 */\n//     code: string;\n// }\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\n#wie-page-search{\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    position: absolute;\r\n    top: 54px;\r\n    right: 0;\r\n    left: 0;\r\n    bottom: 0;\r\n}\r\n`);\nclass PageSearch extends _Plugin_WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\"];\n        this.findProps = {\n            lists: {\n                magnet: _CodeFind_pages_Sync_MangetSync__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n                videos: _Sync_VideoSync__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n            },\n        };\n    }\n    template() {\n        return `\r\n        <page-content>\r\n            <wie-area class='no-border wie-search-input'>\r\n                <input id='wie-search' />\r\n            </wie-area>\r\n            <div id='wie-page-search'>\r\n            <wie-area class='no-border'>\r\n                    ${this.ui(_CodeFind_UI_UIEmby__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"emby\")}\r\n                    <div class='wie-tabs'>\r\n                        <wie-tab id=\"wie-tab-magnet\">磁链<span id='wie-magnet-count'></span></wie-tab>\r\n                        <wie-tab id=\"wie-tab-video\">视频<span id='wie-videos-count'></span></wie-tab>\r\n                    </div>\r\n                </wie-area>\r\n\r\n                <div class='wie-scroll'>\r\n                    <div id='wie-info-magnet'>\r\n                        <wie-area>\r\n                            ${this.ui(_CodeFind_UI_UIMagnet__WEBPACK_IMPORTED_MODULE_5__[\"default\"])}\r\n                        </wie-area>\r\n                    </div>\r\n                    <div id='wie-info-video'>\r\n                        ${this.ui(_CodeFind_UI_UIVideos__WEBPACK_IMPORTED_MODULE_7__[\"default\"])}\r\n                    </div>\r\n\r\n                </div>\r\n            </div>\r\n            ${this.ui(_UI_UILoading__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"关键词[%d]搜索中...\", \"code\", \"magnet\")}\r\n            ${this.ui(_CodeFind_UI_UISyncsProgress__WEBPACK_IMPORTED_MODULE_6__[\"default\"])}\r\n        </page-content>\r\n         `;\n    }\n    bindEvent(page, code) {\n        const scroll = page.querySelector(\".wie-scroll\");\n        scroll.addEventListener(\"wheel\", (e) => {\n            const { scrollHeight, scrollTop, clientHeight } = scroll;\n            if (scrollHeight <= clientHeight)\n                return;\n            if (e.deltaY > 0) {\n                scroll.scrollTop = Math.max(scrollTop + 50, 0);\n            }\n            else {\n                scroll.scrollTop = Math.min(scrollTop - 50, scrollHeight - clientHeight);\n            }\n        });\n        const search = page.querySelector(\"#wie-search\");\n        search.addEventListener(\"keydown\", (e) => {\n            if (e.key === \"Enter\") {\n                const code = e.target.value;\n                // if (code === ( code)) return;\n                this.reStart({ code, loading: true });\n            }\n        });\n        search.value = code;\n        //tab项控制\n        new _CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__[\"default\"](page, {\n            tabs: [\"magnet\", \"video\"],\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Pages/PageSearch.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/SearchSetting.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/Search/SearchSetting.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SearchSetting)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../UI/InputHostUI */ \"./src/UI/InputHostUI.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n\n\n\n\nclass SearchSetting extends _Plugin_WPSetting_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.DefaultSetting = {\n            Match: [],\n        };\n    }\n    template() {\n        const { Match } = this.setting;\n        return `\r\n            <wie-area>\r\n                <wie-name>检索配置</wie-name>\r\n                ${this.ui(_UI_TextareaUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"], \"Match\", \"检索配置\")}\r\n            </wie-area>\r\n\r\n        `;\n    }\n    renderVideoSource(sourceKey, sources) {\n        let html = \"\";\n        for (let key in sources) {\n            html += this.ui(_UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `${sourceKey}.${key}`, key);\n        }\n        return html;\n    }\n    renderHosts(hosts) {\n        let lines = [];\n        for (const key in hosts) {\n            lines.push(this.ui(_UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"], `Hosts.${key}`, key));\n        }\n        return lines.join(\"\");\n    }\n    /**\n     *\n     * @param key\n     * @param value\n     */\n    onChange(key, value) {\n        switch (key) {\n            case \"Match\":\n                value = value.split(\",\").filter((v) => v !== \"\");\n                break;\n            default:\n                break;\n        }\n        super.onChange(key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/SearchSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Style.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Search/Style.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst SearchStyle = `\r\n\r\n.wie-search-input {\r\n    padding: 10px !important;\r\n}\r\n#wie-search {\r\n    border: 1px solid #d6d5d5;\r\n    width: 100%;\r\n    padding: 10px 10px;\r\n    border-radius: 5px;\r\n    box-sizing: border-box;\r\n    resize: none;\r\n    height: auto;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    font-size: 14px;\r\n    outline: 2px solid var(--mainColor) !important;\r\n    background: #f5f5f5;\r\n}\r\nwie-search {\r\n    position: fixed;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    z-index: 999;\r\n}\r\n\r\nwie-search svg {\r\n    width: 25px;\r\n    height: 25px;\r\n    cursor: pointer;\r\n}\r\n\r\n#wie-trailer-content{\r\n    min-height: 250px;\r\n    position: relative;\r\n    text-align: center;\r\n    background: #000;\r\n}\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Style.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/VideoSync.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/Search/Sync/VideoSync.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst VideoSync = [\n    {\n        name: \"91Porn\",\n        url: \"http://91porn.com/search_result.php?search_id={{code}}&search_type=search_videos\",\n        listSelector: \".row .well\",\n        query: {\n            name: \".video-title\",\n            link: \"a&&href\",\n            cover: \"img&&src\",\n            duration: \".duration\",\n        },\n    },\n    {\n        name: \"Cable\",\n        url: \"https://cableav.tv/?s={{code}}\",\n        listSelector: \"article\",\n        query: {\n            cover: (item) => { var _a; return (_a = item.querySelector(\"img\")) === null || _a === void 0 ? void 0 : _a.dataset.src; },\n            name: (item) => item.querySelector(\".entry-title\").textContent.replace(/\\t|\\n/g, \"\").trim(),\n            link: \"a&&href\",\n            // zh:\".category-item\",\n            duration: \".duration-text\",\n        },\n    },\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoSync);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/VideoSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/WieSearch.ts":
    /*!*****************************************!*\
      !*** ./src/Injects/Search/WieSearch.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/WPInject/WPMenuInject */ \"./src/Plugin/WPInject/WPMenuInject.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/index.ts\");\n/* harmony import */ var _CodeFind_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CodeFind/pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _SearchSetting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchSetting */ \"./src/Injects/Search/SearchSetting.ts\");\n/* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Style */ \"./src/Injects/Search/Style.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\n.wie-search-icon{\r\n\r\n}\r\n\r\n.wie-search-code{\r\n    background: #1fe6a9;\r\n    fill: #FFF;\r\n    border-radius: 5px;\r\n    padding: 2px;\r\n    box-sizing: border-box;\r\n    width: 22px;\r\n    height: 22px;\r\n    margin: 1px;\r\n}\r\n`);\nconst SearchSVG = '<svg t=\"1680834384735\" class=\"wie-search-icon\"  key=\"search\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5776\" width=\"200\" height=\"200\"><path d=\"M191.6 83.4c-47.4 22.4-85.8 60.8-108.2 108.2L191.6 83.4z\" fill=\"#4ADF9E\" p-id=\"5777\"></path><path d=\"M228.8 69.7C151.6 90.5 90.5 151.6 69.7 228.8L228.8 69.7z\" fill=\"#49DF9E\" p-id=\"5778\"></path><path d=\"M258.2 63.9c-100.8 13-181.3 93.5-194.4 194.4L258.2 63.9z\" fill=\"#48DF9F\" p-id=\"5779\"></path><path d=\"M283.6 62C162.5 63.9 63.9 162.5 62 283.6L283.6 62z\" fill=\"#47E09F\" p-id=\"5780\"></path><path d=\"M307.2 62H287C163.3 62 62 163.3 62 287v20.2L307.2 62z\" fill=\"#46E09F\" p-id=\"5781\"></path><path d=\"M330.7 62H287C163.3 62 62 163.3 62 287v43.7L330.7 62z\" fill=\"#45E09F\" p-id=\"5782\"></path><path d=\"M354.2 62H287C163.3 62 62 163.3 62 287v67.2L354.2 62z\" fill=\"#44E0A0\" p-id=\"5783\"></path><path d=\"M377.8 62H287C163.3 62 62 163.3 62 287v90.8L377.8 62z\" fill=\"#43E0A0\" p-id=\"5784\"></path><path d=\"M401.3 62H287C163.3 62 62 163.3 62 287v114.3L401.3 62z\" fill=\"#42E0A0\" p-id=\"5785\"></path><path d=\"M424.9 62H287C163.3 62 62 163.3 62 287v137.9L424.9 62z\" fill=\"#41E0A0\" p-id=\"5786\"></path><path d=\"M448.4 62H287c-39.8 0-77.3 10.5-109.8 28.8l-86.4 86.4C72.5 209.7 62 247.2 62 287v161.4L448.4 62z\" fill=\"#40E1A1\" p-id=\"5787\"></path><path d=\"M472 62H287c-23.7 0-46.5 3.7-68 10.6L72.6 219C65.7 240.5 62 263.3 62 287v185L472 62z\" fill=\"#3FE1A1\" p-id=\"5788\"></path><path d=\"M495.5 62H287c-12.6 0-24.9 1.1-37 3.1l-185 185c-2 12-3.1 24.4-3.1 37v208.5L495.5 62z\" fill=\"#3EE1A1\" p-id=\"5789\"></path><path d=\"M519.1 62H287c-3.6 0-7.1 0.1-10.6 0.3L62.3 276.4c-0.2 3.5-0.3 7-0.3 10.6v232.1L519.1 62z\" fill=\"#3DE1A1\" p-id=\"5790\"></path><path d=\"M62 542.6L542.6 62H300.2L62 300.2z\" fill=\"#3CE1A2\" p-id=\"5791\"></path><path d=\"M62 566.2L566.2 62H323.8L62 323.8z\" fill=\"#3BE1A2\" p-id=\"5792\"></path><path d=\"M62 589.7L589.7 62H347.3L62 347.3z\" fill=\"#3AE1A2\" p-id=\"5793\"></path><path d=\"M62 613.3L613.3 62H370.8L62 370.8z\" fill=\"#39E2A2\" p-id=\"5794\"></path><path d=\"M62 636.8L636.8 62H394.4L62 394.4z\" fill=\"#38E2A3\" p-id=\"5795\"></path><path d=\"M62 417.9v242.5L660.4 62H417.9z\" fill=\"#37E2A3\" p-id=\"5796\"></path><path d=\"M62 441.5v242.4L683.9 62H441.5z\" fill=\"#36E2A3\" p-id=\"5797\"></path><path d=\"M62 465v242.5L707.5 62H465z\" fill=\"#35E2A3\" p-id=\"5798\"></path><path d=\"M62 488.6V731L731 62H488.6z\" fill=\"#34E2A3\" p-id=\"5799\"></path><path d=\"M737 62H512.1L62 512.1V737c0 5.7 0.2 11.3 0.6 16.9L753.9 62.6c-5.6-0.4-11.2-0.6-16.9-0.6z\" fill=\"#33E2A4\" p-id=\"5800\"></path><path d=\"M737 62H535.7L62 535.7V737c0 12.9 1.1 25.5 3.2 37.9L774.9 65.2c-12.4-2.1-25-3.2-37.9-3.2z\" fill=\"#32E3A4\" p-id=\"5801\"></path><path d=\"M737 62H559.2L62 559.2V737c0 19.8 2.6 38.9 7.4 57.2L794.2 69.4C775.9 64.6 756.8 62 737 62z\" fill=\"#31E3A4\" p-id=\"5802\"></path><path d=\"M737 62H582.8L62 582.8V737c0 26.3 4.6 51.6 13 75.2L812.2 75c-23.6-8.4-48.9-13-75.2-13z\" fill=\"#30E3A4\" p-id=\"5803\"></path><path d=\"M737 62H606.3L62 606.3V737c0 32.7 7.1 63.8 19.8 92L829 81.8C800.8 69.1 769.7 62 737 62z\" fill=\"#2FE3A5\" p-id=\"5804\"></path><path d=\"M844.7 89.6C812.6 72 775.9 62 737 62H629.9L62 629.9V737c0 38.9 10 75.6 27.6 107.7L844.7 89.6z\" fill=\"#2EE3A5\" p-id=\"5805\"></path><path d=\"M859.4 98.5C824.1 75.4 782 62 737 62h-83.6L62 653.4V737c0 45 13.4 87.1 36.5 122.4L859.4 98.5z\" fill=\"#2DE3A5\" p-id=\"5806\"></path><path d=\"M873.2 108.2C835.3 79.3 788.1 62 737 62h-60L62 677v60c0 51.1 17.3 98.3 46.2 136.2l765-765z\" fill=\"#2CE3A5\" p-id=\"5807\"></path><path d=\"M886.1 118.8C846.3 83.5 794 62 737 62h-36.5L62 700.5V737c0 57 21.5 109.3 56.8 149.1l767.3-767.3z\" fill=\"#2BE4A6\" p-id=\"5808\"></path><path d=\"M737 62h-12.9L62 724.1V737c0 63 26.3 120.2 68.4 161.1l767.8-767.8C857.2 88.3 800 62 737 62z\" fill=\"#2AE4A6\" p-id=\"5809\"></path><path d=\"M62.2 747.4c3 64.8 33.7 122.7 80.5 161.9l766.6-766.6C870 95.9 812.2 65.2 747.4 62.2L62.2 747.4z\" fill=\"#29E4A6\" p-id=\"5810\"></path><path d=\"M64.3 768.9c8.9 61.8 43.1 115.7 91.7 150.7L919.6 156c-35-48.6-88.9-82.8-150.7-91.7L64.3 768.9z\" fill=\"#28E4A6\" p-id=\"5811\"></path><path d=\"M68 788.7c14 59.1 51.5 109.4 102.1 140.4l758.9-759c-30.9-50.5-81.2-88-140.4-102.1L68 788.7z\" fill=\"#27E4A7\" p-id=\"5812\"></path><path d=\"M73.2 807c18.7 56.7 59.4 103.6 111.9 130.5l752.3-752.3c-26.8-52.5-73.7-93.3-130.4-112L73.2 807z\" fill=\"#26E4A7\" p-id=\"5813\"></path><path d=\"M79.7 824.1c23.1 54.4 67 98.1 121.6 120.8l743.6-743.6c-22.7-54.6-66.3-98.6-120.8-121.6L79.7 824.1z\" fill=\"#25E5A7\" p-id=\"5814\"></path><path d=\"M87.2 840.1c27.2 52.3 74.4 92.8 131.3 111.1l732.8-732.8C933 161.5 892.5 114.3 840.2 87.1l-753 753z\" fill=\"#25E5A7\" p-id=\"5815\"></path><path d=\"M95.8 855.1c31.3 50.3 81.9 87.6 141.2 101.2L956.3 237c-13.6-59.4-50.8-110-101.2-141.2L95.8 855.1z\" fill=\"#24E5A7\" p-id=\"5816\"></path><path d=\"M256.9 960L960 256.9c-8.4-62-42.3-116.3-90.8-151.6l-764 764c35.4 48.3 89.6 82.3 151.7 90.7z\" fill=\"#23E5A8\" p-id=\"5817\"></path><path d=\"M278.6 961.8l683.3-683.3c-2.4-65.1-32.8-123.3-79.5-162.9L115.6 882.4c39.7 46.6 97.9 77 163 79.4z\" fill=\"#22E5A8\" p-id=\"5818\"></path><path d=\"M962 287c0-62.5-25.8-119.3-67.3-160.1L126.9 894.7C167.7 936.2 224.5 962 287 962h14.9L962 301.9V287z\" fill=\"#21E5A8\" p-id=\"5819\"></path><path d=\"M962 287c0-56.5-21.1-108.4-55.9-148L139 906.1c39.6 34.8 91.5 55.9 148 55.9h38.5L962 325.5V287z\" fill=\"#20E5A8\" p-id=\"5820\"></path><path d=\"M962 287c0-50.6-16.9-97.4-45.3-135L152 916.7c37.7 28.4 84.5 45.3 135 45.3h62l613-613v-62z\" fill=\"#1FE6A9\" p-id=\"5821\"></path><path d=\"M962 287c0-44.5-13.1-86.1-35.7-121.2L165.8 926.3c35 22.5 76.6 35.7 121.2 35.7h85.6L962 372.6V287z\" fill=\"#1EE6A9\" p-id=\"5822\"></path><path d=\"M962 287c0-38.4-9.8-74.6-26.9-106.4L180.6 935.1c31.7 17.2 68 26.9 106.4 26.9h109.1L962 396.1V287z\" fill=\"#1DE6A9\" p-id=\"5823\"></path><path d=\"M287 962h132.7L962 419.7V287c0-32.2-6.9-62.8-19.2-90.6L196.4 942.8c27.8 12.3 58.4 19.2 90.6 19.2z\" fill=\"#1CE6A9\" p-id=\"5824\"></path><path d=\"M287 962h156.2L962 443.2V287c0-25.8-4.4-50.6-12.5-73.7L213.3 949.5c23.1 8.1 47.9 12.5 73.7 12.5z\" fill=\"#1BE6AA\" p-id=\"5825\"></path><path d=\"M287 962h179.8L962 466.8V287c0-19.2-2.4-37.8-7-55.6L231.4 955c17.8 4.6 36.4 7 55.6 7z\" fill=\"#1AE6AA\" p-id=\"5826\"></path><path d=\"M287 962h203.3L962 490.3V287c0-12.3-1-24.4-2.9-36.2L250.8 959.1c11.8 1.9 23.9 2.9 36.2 2.9z\" fill=\"#19E6AA\" p-id=\"5827\"></path><path d=\"M287 962h226.9L962 513.9V287c0-5.1-0.2-10.1-0.5-15L272 961.5c4.9 0.3 9.9 0.5 15 0.5z\" fill=\"#18E7AA\" p-id=\"5828\"></path><path d=\"M537.4 962L962 537.4V295L295 962z\" fill=\"#17E7AB\" p-id=\"5829\"></path><path d=\"M561 962l401-401V318.5L318.5 962z\" fill=\"#16E7AB\" p-id=\"5830\"></path><path d=\"M584.5 962L962 584.5V342.1L342.1 962z\" fill=\"#15E7AB\" p-id=\"5831\"></path><path d=\"M608.1 962L962 608.1V365.6L365.6 962z\" fill=\"#14E7AB\" p-id=\"5832\"></path><path d=\"M631.6 962L962 631.6V389.2L389.2 962z\" fill=\"#13E7AB\" p-id=\"5833\"></path><path d=\"M655.2 962L962 655.2V412.7L412.7 962z\" fill=\"#12E7AC\" p-id=\"5834\"></path><path d=\"M678.7 962L962 678.7V436.3L436.3 962z\" fill=\"#11E8AC\" p-id=\"5835\"></path><path d=\"M702.2 962L962 702.2V459.8L459.8 962z\" fill=\"#10E8AC\" p-id=\"5836\"></path><path d=\"M725.8 962L962 725.8V483.4L483.4 962z\" fill=\"#0FE8AC\" p-id=\"5837\"></path><path d=\"M962 737V506.9L506.9 962H737c4.3 0 8.5-0.1 12.7-0.4l211.9-211.9c0.3-4.2 0.4-8.4 0.4-12.7z\" fill=\"#0EE8AD\" p-id=\"5838\"></path><path d=\"M962 737V530.5L530.5 962H737c13.4 0 26.6-1.2 39.4-3.5l182.2-182.2c2.2-12.7 3.4-25.9 3.4-39.3z\" fill=\"#0DE8AD\" p-id=\"5839\"></path><path d=\"M962 737V554L554 962h183c24.8 0 48.6-4.1 71-11.6L950.4 808c7.5-22.4 11.6-46.2 11.6-71z\" fill=\"#0CE8AD\" p-id=\"5840\"></path><path d=\"M962 737V577.6L577.6 962H737c41.8 0 80.9-11.5 114.6-31.6l78.9-78.9c20-33.6 31.5-72.7 31.5-114.5z\" fill=\"#0BE8AD\" p-id=\"5841\"></path><path d=\"M962 601.1L601.1 962H737c123.8 0 225-101.3 225-225V601.1z\" fill=\"#0AE9AE\" p-id=\"5842\"></path><path d=\"M962 624.7L624.7 962H737c123.8 0 225-101.3 225-225V624.7z\" fill=\"#09E9AE\" p-id=\"5843\"></path><path d=\"M962 648.2L648.2 962H737c123.8 0 225-101.3 225-225v-88.8z\" fill=\"#08E9AE\" p-id=\"5844\"></path><path d=\"M962 671.8L671.8 962H737c123.8 0 225-101.3 225-225v-65.2z\" fill=\"#07E9AE\" p-id=\"5845\"></path><path d=\"M962 695.3L695.3 962H737c123.8 0 225-101.3 225-225v-41.7z\" fill=\"#06E9AF\" p-id=\"5846\"></path><path d=\"M962 718.8L718.8 962H737c123.8 0 225-101.3 225-225v-18.2z\" fill=\"#05E9AF\" p-id=\"5847\"></path><path d=\"M961.9 742.5L742.5 961.9c119.4-2.9 216.5-100 219.4-219.4z\" fill=\"#04E9AF\" p-id=\"5848\"></path><path d=\"M959.8 768.1L768.1 959.8c99-13.8 177.9-92.7 191.7-191.7z\" fill=\"#03EAAF\" p-id=\"5849\"></path><path d=\"M953.6 797.9L797.9 953.6c75-21.3 134.4-80.7 155.7-155.7z\" fill=\"#02EAB0\" p-id=\"5850\"></path><path d=\"M938.7 836.3L836.3 938.7c44.3-21.9 80.5-58.1 102.4-102.4z\" fill=\"#01EAB0\" p-id=\"5851\"></path><path d=\"M718.5 728.5c-9.9 9.9-26.1 9.9-36 0l-53.1-53.1c-9.9-9.9-9.9-26.1 0-36 9.9-9.9 26.1-9.9 36 0l53.1 53.1c10 10 10 26.1 0 36z\" fill=\"#E5F9EF\" p-id=\"5852\"></path><path d=\"M512 504m-216 0a216 216 0 1 0 432 0 216 216 0 1 0-432 0Z\" fill=\"#F6FDFA\" p-id=\"5853\"></path><path d=\"M512 504m-171 0a171 171 0 1 0 342 0 171 171 0 1 0-342 0Z\" fill=\"#CAF6E1\" p-id=\"5854\"></path></svg>';\nconst CodeSVG = `<svg t=\"1683262746728\" class=\"wie-search-code\"  key=\"code\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4824\" width=\"200\" height=\"200\"><path d=\"M232 232h80v80h-80zM712 232h80v80h-80zM232 712h80v80h-80z\"  p-id=\"4825\"></path><path d=\"M128 448h288c17.6 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32H128c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32z m0-320h288v288H128V128zM416 576H128c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32h288c17.6 0 32-14.4 32-32V608c0-17.6-14.4-32-32-32z m0 320H128V608h288v288zM817 823.1c22.3-27 35.6-61.5 35.6-99.1 0-86-70-156-156-156s-156 70-156 156 70 156 156 156c36.9 0 70.8-12.9 97.5-34.4l74.9 70.3c3.1 2.9 7 4.3 10.9 4.3 4.3 0 8.5-1.7 11.7-5.1 6-6.4 5.7-16.6-0.7-22.6L817 823.1zM696.6 848c-68.4 0-124-55.6-124-124s55.6-124 124-124 124 55.6 124 124-55.6 124-124 124zM912 496H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h800c8.8 0 16-7.2 16-16s-7.2-16-16-16zM512 448c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v320c0 8.8 7.2 16 16 16z\"  p-id=\"4826\"></path><path d=\"M320 216h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8z m-8 96h-80v-80h80v80zM896 96H608c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32h288c17.6 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32z m0 320H608V128h288v288z\"  p-id=\"4827\"></path><path d=\"M704 328h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z m8-96h80v80h-80v-80zM224 808h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z m8-96h80v80h-80v-80z\"  p-id=\"4828\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _clearHideSearch_decorators;\n    let _hideSearch_decorators;\n    let _addSearchButton_decorators;\n    return _a = class WieSearch extends _Plugin_WPInject_WPMenuInject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 绑定设置 */\n                this.set = (__runInitializers(this, _instanceExtraInitializers), new _SearchSetting__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this.Name, this.CName));\n                this.Match = /[\\s\\S]+/;\n                this.text = \"\";\n            }\n            // constructor(engine: WIE) {\n            //     super(engine, SearchSetting.DefaultSetting, SearchStyle);\n            //     new MatchBean(this);\n            // }\n            getMatch() {\n                return this.setting.Match.map((match) => new RegExp(match));\n            }\n            onStart() {\n                this.addStyle(_Style__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n            }\n            search(key = \"search\") {\n                if (key === \"search\")\n                    this.startPage(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { code: this.text });\n                else if (key === \"code\") {\n                    let text = this.text;\n                    if (/^\\d+$/.test(this.text)) {\n                        text = \"FC2-\" + text;\n                    }\n                    //通过\n                    this.engine.plugin(_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).startPage(_CodeFind_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { code: text });\n                    //检测全为数字时,自动添加前缀\n                    // cf?.search(text);\n                }\n            }\n            onLoaded() {\n                this.div = this.createDiv(SearchSVG + CodeSVG, {\n                    events: {\n                    // click: () => this.search(),\n                    },\n                    tag: \"wie-search\",\n                });\n                this.hideSearch();\n                //监听\n                document.addEventListener(\"selectionchange\", () => {\n                    this.clearHideSearch();\n                    const selection = window.getSelection();\n                    if (selection) {\n                        try {\n                            const range = selection.getRangeAt(0);\n                            // this.log(\"selectionchange START\", selection, range);\n                            if (range.startContainer !== range.endContainer)\n                                return;\n                            // this.log(\"selectionchange\", selection, selection.toString(), range);\n                            let text = selection.toString();\n                            text = text === null || text === void 0 ? void 0 : text.replace(/\\n/, \"\");\n                            if (text && text.length > 0) {\n                                // const url = `https://www.wieistmeineip.de/?q=${text}`;\n                                // GM.GM_openInTab(url);\n                                //检测父元素是否为弹框\n                                // if (this.checkParentClass(selection.anchorNode as HTMLElement)) return;\n                                // this.enter(text);\n                                this.addSearchButton(range, text);\n                                return;\n                            }\n                        }\n                        catch (error) {\n                            // console.error(\"WieSearch\", error);\n                        }\n                    }\n                    this.hideSearch();\n                });\n                this.div.querySelectorAll(\"svg\").forEach((svg) => {\n                    const key = svg.getAttribute(\"key\");\n                    svg.addEventListener(\"click\", () => {\n                        this.search(key);\n                    });\n                });\n            }\n            clearHideSearch() { }\n            hideSearch() {\n                this.div.style.opacity = \"0\";\n                this.div.style.pointerEvents = \"none\";\n            }\n            addSearchButton(target, text) {\n                if (!target)\n                    return;\n                const rect = target.getBoundingClientRect();\n                const div = this.div;\n                div.style.left = rect.left + rect.width + 5 + \"px\";\n                div.style.top = rect.top - 25 + \"px\";\n                this.text = text;\n                div.style.opacity = \"1\";\n                div.style.pointerEvents = \"all\";\n                //\n                const cf = this.engine.plugin(_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n                const svg = div.querySelector(\".wie-search-code\");\n                if (cf)\n                    svg.style.display = \"inline-block\";\n                else\n                    svg.style.display = \"none\";\n            }\n        },\n        (() => {\n            _clearHideSearch_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__.DelayCancel)(\"hideSearch\")];\n            _hideSearch_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__.DelayTime)(100), (0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__.DelayCancel)(\"addSearchButton\")];\n            _addSearchButton_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__.DelayTime)(100)];\n            __esDecorate(_a, null, _clearHideSearch_decorators, { kind: \"method\", name: \"clearHideSearch\", static: false, private: false, access: { has: obj => \"clearHideSearch\" in obj, get: obj => obj.clearHideSearch } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _hideSearch_decorators, { kind: \"method\", name: \"hideSearch\", static: false, private: false, access: { has: obj => \"hideSearch\" in obj, get: obj => obj.hideSearch } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _addSearchButton_decorators, { kind: \"method\", name: \"addSearchButton\", static: false, private: false, access: { has: obj => \"addSearchButton\" in obj, get: obj => obj.addSearchButton } }, null, _instanceExtraInitializers);\n        })(),\n        /** 名称 */\n        _a.Name = \"WieSearch\",\n        _a.CName = \"划词搜索\",\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/WieSearch.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/index.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Search/index.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WieSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_WieSearch__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/GlobalSetting.ts":
    /*!*************************************!*\
      !*** ./src/Plugin/GlobalSetting.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ GlobalSetting)\n/* harmony export */ });\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UI/InputColorUI */ \"./src/UI/InputColorUI.ts\");\n/* harmony import */ var _UI_InputUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UI/InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _WPSetting_Setting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WPSetting/Setting */ \"./src/Plugin/WPSetting/Setting.ts\");\n/* harmony import */ var _WPTheme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./WPTheme */ \"./src/Plugin/WPTheme.ts\");\n\n\n\n\n\n\nclass GlobalSetting extends _WPSetting_Setting__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n    constructor() {\n        super(\"WIE\", \"全局\");\n        this.DefaultSetting = {\n            Debug: false,\n            Fixed: true,\n            Position: \"left\",\n            Width: 500,\n            Enter: 600,\n            /** Emby服务器设置 */\n            Emby: {\n                host: \"http://192.168.101.30:8096/\",\n                apiKey: \"1e94057c85db448baf65487b4d9df2d9\",\n                userId: \"8f157b37e4e546c69b5b149ce8e9156f\",\n                ServerId: \"756fcd461c944e7eb99ca9815be49951\",\n                api_key: \"\",\n            },\n            Theme: {\n                mainColor: \"#333333\",\n                mainTextColor: \"#ffffff\",\n                mainBorderColor: \"#000000\",\n                color: \"#333333\",\n                borderColor: \"#e8ebf3\",\n                bgColor: \"#ffffff\",\n                bgLightColor: \"#f6f7f8\",\n            },\n            Themes: [\n                {\n                    name: \"水墨风\",\n                    theme: {\n                        mainColor: \"#333333\",\n                        mainTextColor: \"#ffffff\",\n                        mainBorderColor: \"#333333\",\n                        color: \"#333333\",\n                        bgColor: \"#ffffff\",\n                        bgLightColor: \"#f6f7f8\",\n                        borderColor: \"#e8ebf3\",\n                    },\n                },\n                {\n                    name: \"暗黑\",\n                    theme: {\n                        mainColor: \"#cccccc\",\n                        mainTextColor: \"#333333\",\n                        mainBorderColor: \"#cccccc\",\n                        color: \"#FFFFFF\",\n                        bgColor: \"#1e1e1e\",\n                        bgLightColor: \"#333333\",\n                        borderColor: \"#353535\",\n                    },\n                },\n            ],\n        };\n    }\n    template() {\n        const { Enter, Emby, Theme, Themes, Debug } = this.setting;\n        // this.log(\"render\", this.setting);\n        return `\r\n            <wie-area>\r\n                <wie-name>全局配置</wie-name>\r\n                ${this.ui(_UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"], \"Debug\", \"开发模式\")}\r\n                ${this.ui(_UI_InputUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"], \"Enter\", \"悬浮触发时间\", \"vh-line\")}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>Emby配置</wie-name>\r\n                ${this.ui(_UI_InputUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"], \"Emby.host\", \"Emby地址\", \"vh-line\")}\r\n                ${this.ui(_UI_InputUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"], \"Emby.api_key\", \"Emby秘钥\", \"vh-line\")}\r\n                - 注意: Emby秘钥获取位置: Emby设置->高级->API密钥->新建\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>主题色配置</wie-name>\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.mainColor\", \"主颜色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.mainTextColor\", \"主字体颜色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.mainBorderColor\", \"主边框颜色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.color\", \"字体颜色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.bgColor\", \"背景色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.bgLightColor\", \"主背景淡色\")}\r\n                ${this.ui(_UI_InputColorUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"], \"Theme.borderColor\", \"边框颜色\")}\r\n                <wie-theme-group>\r\n                    ${Themes.map((item, index) => this.renderThemeItem(item.name, index)).join(\"\")}\r\n                </wie-theme-group>\r\n            </wie-area>\r\n        `;\n    }\n    renderThemeItem(name, index) {\n        return `\r\n            <wie-btn class=\"theme-item\" key='${index}'>\r\n                ${name}\r\n            </wie-btn>\r\n        `;\n    }\n    bindEvent(div) {\n        super.bindEvent(div);\n        const { Themes } = this.setting;\n        const themeItems = div.querySelectorAll(\".theme-item\");\n        themeItems.forEach((item, index) => {\n            item.addEventListener(\"click\", () => {\n                const theme = Themes[index].theme;\n                for (const key in theme) {\n                    this.onChange(`Theme.${key}`, theme[key]);\n                }\n                this.refresh();\n            });\n        });\n    }\n    onSave() {\n        const hasTheme = !!this.update.Theme;\n        //检测\n        super.onSave();\n        if (hasTheme) {\n            // window.location.reload();\n            _WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Instance.plugin(_WPTheme__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).updateTheme();\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/GlobalSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/MPMonitor.ts":
    /*!*********************************!*\
      !*** ./src/Plugin/MPMonitor.ts ***!
      \*********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPMonitor)\n/* harmony export */ });\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n/**\n * 监听器插件\n */\nclass WPMonitor extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 监听器 */\n        this.listens = {};\n    }\n    /**\n     * 触发监听器\n     */\n    emit(keys, ...args) {\n        const sets = new Set();\n        for (let key of keys) {\n            let set = this.listens[key];\n            if (set)\n                for (let call of set)\n                    sets.add(call);\n        }\n        for (let call of sets)\n            call(...args);\n    }\n    /**\n     * 监听数据监听器\n     * @param call\n     * @param keys\n     */\n    add(call, ...keys) {\n        for (let key of keys) {\n            let sets = this.listens[key];\n            if (!sets)\n                sets = this.listens[key] = new Set();\n            sets.add(call);\n        }\n        return () => this.remove(call, ...keys);\n    }\n    /**\n     * 移除监听器\n     * @param call\n     * @param keys\n     */\n    remove(call, ...keys) {\n        for (let key of keys) {\n            let sets = this.listens[key];\n            if (!sets)\n                continue;\n            sets.delete(call);\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/MPMonitor.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPData.ts":
    /*!******************************!*\
      !*** ./src/Plugin/WPData.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n/* harmony import */ var _lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _MPMonitor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MPMonitor */ \"./src/Plugin/MPMonitor.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _WPData_monitor_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _monitor_decorators;\n    let _monitor_initializers = [];\n    return _a = class WPData extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                _WPData_monitor_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _monitor_initializers, void 0)));\n                this.handles = {};\n                /** 每个字段更新日志 */\n                this.records = {};\n                /** 每个sync的数据 */\n                this.recordSyncs = {};\n            }\n            get monitor() { return __classPrivateFieldGet(this, _WPData_monitor_accessor_storage, \"f\"); }\n            set monitor(value) { __classPrivateFieldSet(this, _WPData_monitor_accessor_storage, value, \"f\"); }\n            setHandle(handles) {\n                this.handles = handles;\n            }\n            /**\n             * 初始化Movie\n             * @param movie\n             */\n            init(data) {\n                this.data = data;\n            }\n            /**\n             * 更新数据\n             * @param movie\n             * @param sync\n             */\n            update(data, sync, record = true) {\n                var _a;\n                // this.log(`【${sync?.name}】更新数据:`, data, sync);\n                let keys = new Set();\n                for (let key in data) {\n                    if (record)\n                        this.addRecord(key, data[key], sync === null || sync === void 0 ? void 0 : sync.name);\n                    let n = data[key];\n                    let old = this.data[key];\n                    if (old && typeof old === \"object\") {\n                        //判读是否为数组\n                        if (Array.isArray(old)) {\n                            if (old.length > n.length || (old.length === n.length && Object.keys(old[0]).length > Object.keys(n[0]).length))\n                                n = old;\n                        }\n                        else if (Object.keys(old).length > Object.keys(n).length) {\n                            n = old;\n                        }\n                    }\n                    //判断是否有更新处理\n                    if (this.handles[key])\n                        n = (_a = this.handles[key](n, old, this)) !== null && _a !== void 0 ? _a : n;\n                    //非object对象,进行值比较,如果一样,则不进行处理\n                    if (typeof n !== \"object\" && old === n) {\n                        continue;\n                    }\n                    this.data[key] = n;\n                    keys.add(key);\n                }\n                //提交更新\n                this.monitor.emit(Array.from(keys), this.data);\n            }\n            addRecord(key, value, from = \"未知\") {\n                const { [key]: record = [] } = this.records;\n                record.push({ value, from });\n                this.records[key] = record;\n                const { [from]: syncRecord = {} } = this.recordSyncs;\n                syncRecord[key] = value;\n                this.recordSyncs[from] = syncRecord;\n                // this.log(`【${key}】字段更新[来源:${from}]`, value, record);\n            }\n            updateList(key, data, sync) {\n                var _a;\n                let list = (_a = this.data[key]) !== null && _a !== void 0 ? _a : [];\n                list.push(data);\n                // this.log(`【${key as any}】更新数据列表:`, data, list, sync);\n                this.addRecord(key, data, sync === null || sync === void 0 ? void 0 : sync.name);\n                this.update({ [key]: list }, sync, false);\n            }\n            printRecord() {\n                this.log(\"-所有字段记录-\", this.records, this.recordSyncs);\n            }\n        },\n        _WPData_monitor_accessor_storage = new WeakMap(),\n        (() => {\n            _monitor_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_MPMonitor__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n            __esDecorate(_a, null, _monitor_decorators, { kind: \"accessor\", name: \"monitor\", static: false, private: false, access: { has: obj => \"monitor\" in obj, get: obj => obj.monitor, set: (obj, value) => { obj.monitor = value; } } }, _monitor_initializers, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPData.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPFixed/PageFixed.ts":
    /*!*****************************************!*\
      !*** ./src/Plugin/WPFixed/PageFixed.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WPPopup/Page */ \"./src/Plugin/WPPopup/Page.ts\");\n\n/**\n *\n */\nclass PageFixed extends _WPPopup_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    // updateIntent(intent: T) {\n    //     this.intent = intent;\n    //     this.wpr.update(this.intent);\n    //     this.refresh();\n    // }\n    stop() {\n        this.tab.classList.remove(\"active\");\n        this.view.parentElement.classList.remove(\"active\");\n        super.stop();\n    }\n    resume() {\n        this.tab.classList.add(\"active\");\n        this.view.parentElement.classList.add(\"active\");\n        super.resume();\n    }\n}\n/** 类型 */\nPageFixed.Type = \"Fixed\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageFixed);\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPFixed/PageFixed.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPFixed/WPFixed.ts":
    /*!***************************************!*\
      !*** ./src/Plugin/WPFixed/WPFixed.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPFixed)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/ToolValue */ \"./src/Tools/ToolValue.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../WPRender/WPRender */ \"./src/Plugin/WPRender/WPRender.ts\");\n/* harmony import */ var interactjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! interactjs */ \"./node_modules/.store/interactjs@1.10.17/node_modules/interactjs/dist/interact.min.js\");\n/* harmony import */ var interactjs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(interactjs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n// const InteractJs = (window as any).interact;\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_2__[\"default\"].add(`\r\nwie-fixed{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 40px;\r\n    right: 40px;\r\n    width: 300px;\r\n    text-align: left;\r\n    backdrop-filter: blur(7px);\r\n    background: var(--bgColor);\r\n    border-radius: 10px;\r\n    color:var(--mainColor);\r\n    filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.1));\r\n    overflow: hidden;\r\n}\r\n.fixed-title{\r\n    padding: 5px;\r\n    border-radius: 0 6px 0 0;\r\n    background: var(--bgColor);\r\n    font-weight: bold;\r\n    text-align: center;\r\n    box-sizing: border-box;\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n    display: flex;\r\n    justify-content: center;\r\n    border-bottom: 1px solid var(--mainColor);\r\n}\r\n\r\nwie-fixed-tab{\r\n    padding: 5px 20px;\r\n    font-size: 12px;\r\n    color: var(--mainColor);\r\n    border-radius: 5px;\r\n    margin:  0 10px;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\nwie-fixed-tab.active{\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n    font-weight: bold;\r\n}\r\nwie-fixed-pages{\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\nwie-fixed-page{\r\n    position: relative;\r\n    display: block;\r\n    text-align: left;\r\n    display: none;\r\n}\r\n\r\nwie-fixed-page.active{\r\n    display: block;\r\n}\r\nwie-fixed-title{\r\n    background: var(--mainColor);\r\n    background: #3d4248;\r\n    padding: 6px 8px;\r\n    font-weight: bold;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    position: absolute;\r\n    width: 50px;\r\n    display: flex;\r\n    right: 0;\r\n    top: 0;\r\n    height: 100%;\r\n    align-items: center;\r\n    box-sizing: border-box;\r\n    z-index: 1;\r\n    cursor: pointer;\r\n    border-top: 1px solid var(--mainTextColor);\r\n}\r\nwie-tip {\r\n    position: absolute;\r\n    top: 5px;\r\n    right: 3px;\r\n    border-radius: 3px;\r\n    background: #f60;\r\n    padding: 1px 3px 2px;\r\n    font-size: 8px;\r\n    line-height: 1;\r\n}\r\n\r\n`);\nclass WPFixed extends _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.injects = new Map();\n        this.hidden = true;\n        /** 位置 */\n        this.posValue = new _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_1__[\"default\"](\"pos\", { x: 0, y: 0 });\n    }\n    onLoad() {\n        super.onLoad(_Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(\"\", { tag: \"wie-fixed\", className: `wie-hidden-style` }));\n        const pos = this.posValue.value;\n        this.log(\"pos\", pos);\n        // this.root.style.transform = `translate(${pos.x}px, ${pos.y}px)`;\n        this.render();\n    }\n    template(data) {\n        return `<div class='fixed-title'></div>\r\n        <wie-fixed-pages>\r\n        </wie-fixed-pages>\r\n        `;\n    }\n    bindEvent(root) {\n        this.tabs = root.querySelector(\".fixed-title\");\n        this.pages = root.querySelector(\"wie-fixed-pages\");\n        interactjs__WEBPACK_IMPORTED_MODULE_4___default()(this.tabs).draggable({\n            modifiers: [\n                interactjs__WEBPACK_IMPORTED_MODULE_4___default().modifiers.restrictRect({\n                    elementRect: document.body.getBoundingClientRect(),\n                    endOnly: true,\n                }),\n            ],\n            listeners: {\n                move: (e) => {\n                    // let { x, y } = e.target.dataset;\n                    // this.log(\"----\", e);\n                    // x = (parseFloat(x) || 0) + e.deltaRect.left;\n                    // y = (parseFloat(y) || 0) + e.deltaRect.top;\n                    var target = this.root;\n                    // keep the dragged position in the data-x/data-y attributes\n                    var x = (parseFloat(target.getAttribute(\"data-x\")) || 0) + e.dx;\n                    var y = (parseFloat(target.getAttribute(\"data-y\")) || 0) + e.dy;\n                    // translate the element\n                    target.style.transform = \"translate(\" + x + \"px, \" + y + \"px)\";\n                    // update the posiion attributes\n                    target.setAttribute(\"data-x\", x);\n                    target.setAttribute(\"data-y\", y);\n                },\n                end: (e) => {\n                    let x = parseFloat(this.root.getAttribute(\"data-x\"));\n                    let y = parseFloat(this.root.getAttribute(\"data-y\"));\n                    this.log(\"end\", x, y, e.d);\n                    this.posValue.value = { x, y };\n                },\n            },\n        });\n    }\n    createPageRoot(page) {\n        //<img id='wie-version' src='https://s1.ax1x.com/2023/04/01/ppWUPEQ.png'>\n        //添加tab项\n        const tab = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(page.inject.CName, { tag: \"wie-fixed-tab\", className: \"active\", parent: this.tabs });\n        page.tab = tab;\n        tab.addEventListener(\"click\", this.onTabChange.bind(this, page));\n        //添加页面像\n        const wrapper = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(\"\", { tag: \"wie-fixed-page\", className: \"active\", parent: this.pages });\n        // wrapper?.appendChild(page.page);\n        // this.root.appendChild(wrapper);\n        // wrapper.querySelector(\"wie-fixed-title\")?.addEventListener(\"click\", () => {\n        //     this.showConfigs[inject.Name] = !this.showConfigs[inject.Name];\n        //     this.show(wrapper, page, inject.Name);\n        // });\n        // this.show(wrapper, page, inject.Name);\n        return wrapper;\n    }\n    onTabChange(page, resume = true) {\n        if (this.showPage === page)\n            return;\n        if (this.showPage)\n            this.showPage.stop();\n        this.showPage = page;\n        if (resume)\n            page.resume();\n    }\n    page(inject) {\n        return this.injects.get(inject);\n    }\n    startPage(inject, page, intent) {\n        if (this.hidden) {\n            this.hidden = false;\n            this.root.classList.remove(\"wie-hidden-style\");\n        }\n        let item = this.injects.get(inject);\n        this.log(\"startPage\", inject, item, intent);\n        //判断是否已经启动\n        if (!item) {\n            item = new page(inject, intent);\n            item.onLoad(this.createPageRoot(item));\n            //添加到页面\n            this.injects.set(inject, item);\n            //更新显示\n            this.onTabChange(item, false);\n        }\n        else {\n            item.reStart(intent);\n            //更新显示\n            this.onTabChange(item);\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPFixed/WPFixed.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPInject/WPInject.ts":
    /*!*****************************************!*\
      !*** ./src/Plugin/WPInject/WPInject.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   WPInject: () => (/* binding */ WPInject)\n/* harmony export */ });\n/* harmony import */ var _WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WPSetting/WPSetting */ \"./src/Plugin/WPSetting/WPSetting.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n/* harmony import */ var _lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../lib/Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n/* harmony import */ var _lib_decorator_delay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../lib/decorator/delay */ \"./src/lib/decorator/delay.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _WPFixed_WPFixed__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../WPFixed/WPFixed */ \"./src/Plugin/WPFixed/WPFixed.ts\");\n/* harmony import */ var _WPPopup_WPPopup__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../WPPopup/WPPopup */ \"./src/Plugin/WPPopup/WPPopup.ts\");\n/* harmony import */ var _WPFixed_PageFixed__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../WPFixed/PageFixed */ \"./src/Plugin/WPFixed/PageFixed.ts\");\n/* harmony import */ var _WPInjects__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../WPInjects */ \"./src/Plugin/WPInjects.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n`.WIE-Popup {\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    background: #fff;\r\n    border-radius: 4px;\r\n    box-shadow: 0 0 10px #00000033;\r\n    padding: 10px 20px;\r\n}`;\n/**\n * 注入基类\n */\nlet WPInject = (() => {\n    var _a, _WPInject_wpset_accessor_storage, _WPInject_fixed_accessor_storage, _WPInject_popup_accessor_storage, _WPInject_injects_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _wpset_decorators;\n    let _wpset_initializers = [];\n    let _fixed_decorators;\n    let _fixed_initializers = [];\n    let _popup_decorators;\n    let _popup_initializers = [];\n    let _injects_decorators;\n    let _injects_initializers = [];\n    let __start_decorators;\n    return _a = class WPInject extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 如果设置循环值, 则会循环调用onStart, 可通过返回false来取消循环 */\n                this.timer = (__runInitializers(this, _instanceExtraInitializers), 0);\n                _WPInject_wpset_accessor_storage.set(this, __runInitializers(this, _wpset_initializers, void 0));\n                _WPInject_fixed_accessor_storage.set(this, __runInitializers(this, _fixed_initializers, void 0));\n                _WPInject_popup_accessor_storage.set(this, __runInitializers(this, _popup_initializers, void 0));\n                _WPInject_injects_accessor_storage.set(this, __runInitializers(this, _injects_initializers, void 0));\n                /** 是否打开 */\n                this.opening = false;\n            }\n            /**\n             * 获取Inject名称\n             * @returns\n             */\n            get Name() {\n                return this.constructor.Name;\n            }\n            get CName() {\n                return this.constructor.CName;\n            }\n            /**\n             * 配置器\n             * @returns\n             */\n            Setting() {\n                return this.set;\n            }\n            get wpset() { return __classPrivateFieldGet(this, _WPInject_wpset_accessor_storage, \"f\"); }\n            set wpset(value) { __classPrivateFieldSet(this, _WPInject_wpset_accessor_storage, value, \"f\"); }\n            get fixed() { return __classPrivateFieldGet(this, _WPInject_fixed_accessor_storage, \"f\"); }\n            set fixed(value) { __classPrivateFieldSet(this, _WPInject_fixed_accessor_storage, value, \"f\"); }\n            get popup() { return __classPrivateFieldGet(this, _WPInject_popup_accessor_storage, \"f\"); }\n            set popup(value) { __classPrivateFieldSet(this, _WPInject_popup_accessor_storage, value, \"f\"); }\n            get injects() { return __classPrivateFieldGet(this, _WPInject_injects_accessor_storage, \"f\"); }\n            set injects(value) { __classPrivateFieldSet(this, _WPInject_injects_accessor_storage, value, \"f\"); }\n            /**\n             * 加载\n             * @param setting\n             */\n            onLoad() {\n                //绑定设置\n                this.wpset.bind(this.set);\n                this.injects.add(this);\n            }\n            /**\n             * 打开页面\n             * @param page\n             * @param intent\n             */\n            startPage(page, intent = {}) {\n                switch (page.Type) {\n                    case _WPFixed_PageFixed__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Type:\n                        this.fixed.startPage(this, page, intent);\n                        break;\n                    default:\n                        this.popup.startPage(this, page, intent);\n                        break;\n                }\n            }\n            /**\n             *\n             * @returns\n             */\n            get setting() {\n                return this.set.setting;\n            }\n            getMatch() {\n                return this.Match;\n            }\n            /**\n             * 检查配置\n             * @returns\n             */\n            check() {\n                const url = window.location != window.parent.location ? document.referrer : document.location.href;\n                //检查当前网页\n                if (!_Tools_UrlTool__WEBPACK_IMPORTED_MODULE_4__[\"default\"].match(this.getMatch())) {\n                    if (url === location.href)\n                        return false;\n                    else if (!_Tools_UrlTool__WEBPACK_IMPORTED_MODULE_4__[\"default\"].match(this.getMatch(), url))\n                        return false;\n                }\n                return true;\n            }\n            /**\n             * 启动\n             */\n            start() {\n                // this.log(`[${this.CName}]启动!`, \"配置\", this.setting ?? {});\n                //如果设置不正确则关闭\n                if (!this.check())\n                    return this.wpset.unbind(this.set);\n                this.opening = true;\n                //启动\n                this._start();\n            }\n            _start() {\n                var _a;\n                this.log(`[${this.CName}]启动!`, \"配置\", (_a = this.setting) !== null && _a !== void 0 ? _a : {});\n                _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].onDomLoaded(() => this.onDomLoaded());\n                this.onStart();\n                if (this.timer)\n                    this.startInterval();\n                //\n                this.onLoaded();\n                if (document.readyState === \"complete\") {\n                    this.onDomLoaded();\n                }\n            }\n            /** 循环调用 */\n            startInterval() {\n                setTimeout(() => {\n                    if (this.onStart() === false)\n                        return;\n                    this.startInterval();\n                }, this.timer);\n            }\n            onLoaded() { }\n            onDomLoaded() { }\n            /**\n             * 启动监听\n             */\n            startObserver(callback) {\n                var _a;\n                //如果旧的存在则停止监听\n                if (this.observer)\n                    this.observer.disconnect();\n                const observer = new MutationObserver((mutations) => callback(mutations));\n                this.observer = observer;\n                (_a = this.observer) === null || _a === void 0 ? void 0 : _a.observe(document.body, {\n                    attributes: true,\n                    childList: true,\n                    characterData: true,\n                    subtree: true,\n                });\n            }\n            /**\n             * 取消监听\n             */\n            disconnect() {\n                var _a;\n                (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n                this.observer = null;\n            }\n            /**\n             * 保存值\n             * @param key\n             * @param value\n             */\n            setValue(key, value) {\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_7__[\"default\"].GM_setValue(key, value);\n            }\n            /**\n             * 获取缓存\n             * @param key\n             * @param defaultValue\n             * @returns\n             */\n            getValue(key, defaultValue) {\n                return _Tools_GM__WEBPACK_IMPORTED_MODULE_7__[\"default\"].GM_getValue(key, defaultValue);\n            }\n            deleteValue(key) {\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_7__[\"default\"].GM_deleteValue(key);\n            }\n            /**\n             * 创建div\n             * @param innerHTML\n             * @param options\n             * @returns\n             */\n            createDiv(innerHTML, options = {}) {\n                return _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(innerHTML, options);\n            }\n            /**\n             * 创建元素\n             * @param tag\n             * @param attrs\n             * @param child\n             * @returns\n             */\n            create(tag, attrs = {}, child) {\n                const node = document.createElement(tag);\n                for (const [name, value] of Object.entries(attrs))\n                    node.setAttribute(name, value);\n                if (child)\n                    node.append(child);\n                return node;\n            }\n            /**\n             * 复制\n             * @param text\n             * @param tip\n             */\n            copy(text, tip = \"复制成功\") {\n                _WIE__WEBPACK_IMPORTED_MODULE_6__[\"default\"].copy(text, tip);\n            }\n            /**\n             * 更新设置\n             * @param setting\n             */\n            updateSetting(setting) {\n                this.wpset.update(this.set, setting);\n            }\n            addStyle(style) {\n                this.engine.addStyle(style);\n            }\n        },\n        _WPInject_wpset_accessor_storage = new WeakMap(),\n        _WPInject_fixed_accessor_storage = new WeakMap(),\n        _WPInject_popup_accessor_storage = new WeakMap(),\n        _WPInject_injects_accessor_storage = new WeakMap(),\n        (() => {\n            _wpset_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n            _fixed_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_WPFixed_WPFixed__WEBPACK_IMPORTED_MODULE_8__[\"default\"])];\n            _popup_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_WPPopup_WPPopup__WEBPACK_IMPORTED_MODULE_9__[\"default\"])];\n            _injects_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_WPInjects__WEBPACK_IMPORTED_MODULE_11__[\"default\"])];\n            __start_decorators = [(0,_lib_decorator_delay__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(1)];\n            __esDecorate(_a, null, _wpset_decorators, { kind: \"accessor\", name: \"wpset\", static: false, private: false, access: { has: obj => \"wpset\" in obj, get: obj => obj.wpset, set: (obj, value) => { obj.wpset = value; } } }, _wpset_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _fixed_decorators, { kind: \"accessor\", name: \"fixed\", static: false, private: false, access: { has: obj => \"fixed\" in obj, get: obj => obj.fixed, set: (obj, value) => { obj.fixed = value; } } }, _fixed_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _popup_decorators, { kind: \"accessor\", name: \"popup\", static: false, private: false, access: { has: obj => \"popup\" in obj, get: obj => obj.popup, set: (obj, value) => { obj.popup = value; } } }, _popup_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _injects_decorators, { kind: \"accessor\", name: \"injects\", static: false, private: false, access: { has: obj => \"injects\" in obj, get: obj => obj.injects, set: (obj, value) => { obj.injects = value; } } }, _injects_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, __start_decorators, { kind: \"method\", name: \"_start\", static: false, private: false, access: { has: obj => \"_start\" in obj, get: obj => obj._start } }, null, _instanceExtraInitializers);\n        })(),\n        /** 需重写 */\n        _a.CName = \"注入器\",\n        /** 需重写 */\n        _a.Name = \"Inject\",\n        _a;\n})();\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPInject/WPInject.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPInject/WPMenuInject.ts":
    /*!*********************************************!*\
      !*** ./src/Plugin/WPInject/WPMenuInject.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPMenuInject)\n/* harmony export */ });\n/* harmony import */ var _lib_MatchBean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/MatchBean */ \"./src/lib/MatchBean.ts\");\n/* harmony import */ var _WPInject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WPInject */ \"./src/Plugin/WPInject/WPInject.ts\");\n\n\nclass WPMenuInject extends _WPInject__WEBPACK_IMPORTED_MODULE_1__.WPInject {\n    constructor() {\n        super(...arguments);\n        /** 需继承 */\n        this.Match = [];\n    }\n    getMatch() {\n        return this.setting.Match.map((match) => new RegExp(match));\n    }\n    start() {\n        new _lib_MatchBean__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this);\n        super.start();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPInject/WPMenuInject.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPInjects.ts":
    /*!*********************************!*\
      !*** ./src/Plugin/WPInjects.ts ***!
      \*********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPInjects)\n/* harmony export */ });\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n/**\n * 注入插件管理\n */\nclass WPInjects extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 注入器 */\n        this.injects = [];\n    }\n    /**\n     * 添加注入器\n     * @param inject\n     */\n    add(inject) {\n        this.injects.push(inject);\n    }\n    /**\n     * 启动注入\n     */\n    start() {\n        for (let inject of this.injects) {\n            //启动注入\n            try {\n                inject.start();\n            }\n            catch (e) {\n                this.error(\"启动注入失败\", inject, e);\n                console.error(\"-启动注入失败-\", e);\n            }\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPInjects.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPOS.ts":
    /*!****************************!*\
      !*** ./src/Plugin/WPOS.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPOS)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n\nclass WPOS extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /**\n         * 是否移动端\n         */\n        this.isMobile = _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isMobile();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPOS.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPPopup/FormUI.ts":
    /*!**************************************!*\
      !*** ./src/Plugin/WPPopup/FormUI.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormUI)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\n\nclass FormUI extends _UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor(key, cname, css, value, onChange) {\n        super(key);\n        /** 默认type类型 */\n        this.defaultCss = \"v-line\";\n        this.ename = key;\n        this.cname = cname;\n        this.css = css;\n        this.value = value;\n        this.call = onChange;\n    }\n    set(value) {\n        if (typeof this.value !== \"undefined\")\n            return;\n        this.value = value;\n        return this;\n    }\n    get class() {\n        let { css = this.defaultCss } = this;\n        //如果为移动端,且type为hh-line,则改为h-line\n        if (_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.isMobile) {\n            if (css === \"hh-line\")\n                css = \"h-line\";\n            if (css === \"vh-line\")\n                css = \"v-line\";\n        }\n        return css;\n    }\n    template() {\n        const { cname } = this;\n        return `<wie-input class='${this.class}'>\r\n            <div class='name'>${cname}</div>\r\n            ${this.renderFrom(this.value, this.ename, cname)}\r\n        </wie-input>`;\n    }\n    onChange(value, key = this.ename) {\n        var _a;\n        if (this.call)\n            return this.call(value, key);\n        (_a = this.form) === null || _a === void 0 ? void 0 : _a.onChange(key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPPopup/FormUI.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPPopup/Page.ts":
    /*!************************************!*\
      !*** ./src/Plugin/WPPopup/Page.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   PageStatus: () => (/* binding */ PageStatus),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_WSE_MSE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/WSE/MSE */ \"./src/lib/WSE/MSE.ts\");\n/* harmony import */ var _lib_WSE_plugin_MPFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/WSE/plugin/MPFind */ \"./src/lib/WSE/plugin/MPFind.ts\");\n/* harmony import */ var _WPData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../WPData */ \"./src/Plugin/WPData.ts\");\n/* harmony import */ var _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../WPRender/WPRender */ \"./src/Plugin/WPRender/WPRender.ts\");\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\n\n\n\n\nvar PageStatus;\n(function (PageStatus) {\n    /** 渲染中 */\n    PageStatus[PageStatus[\"Render\"] = 0] = \"Render\";\n    /** 销毁 */\n    PageStatus[PageStatus[\"Destroy\"] = 1] = \"Destroy\";\n    /** 停止 */\n    PageStatus[PageStatus[\"Stop\"] = 2] = \"Stop\";\n})(PageStatus || (PageStatus = {}));\nclass Page extends _UI__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n    /** 事件绑定 */\n    bindEvent(view, ...values) { }\n    constructor(inject, intent) {\n        super();\n        this.listens = [];\n        /** 查询配置 */\n        this.findProps = {};\n        // private _id: string = Tool.randomString(10);\n        // /** 唯一ID */\n        // get id() {\n        //     return this._id;\n        // }\n        this.status = PageStatus.Render;\n        this.inject = inject;\n        this.intent = intent;\n    }\n    get setting() {\n        return this.inject.setting;\n    }\n    // root: HTMLElement;\n    onLoad(root) {\n        //\n        this.view = root;\n        this.mse = new _lib_WSE_MSE__WEBPACK_IMPORTED_MODULE_0__[\"default\"]().init(this.findProps, this.setting.Host);\n        this.log(\"onLoad\", this.intent);\n        // this.mse.plugin(WPData).init(this.intent);\n        const render = (this.wpr = this.mse.addPlugin((_WPRender_WPRender__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), root));\n        // render.render(this.template(this.intent));\n        // this.bindEvent(root, this.intent);\n        //从自身开始渲染\n        //启动同步器\n        this.intent = this.onIntent(this.intent);\n        this.start(this.intent);\n        render.drawing(this);\n        return this;\n    }\n    onIntent(intent) {\n        return intent;\n    }\n    /**\n     * 启动同步器\n     * @param intent\n     */\n    start(update) {\n        this.intent = update;\n        this.mse.plugin(_WPData__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).init(this.intent);\n        this.mse.plugin(_lib_WSE_plugin_MPFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).start();\n    }\n    /**\n     * 重新开始\n     * @param update\n     */\n    reStart(update) {\n        this.start(update);\n        this.refresh();\n    }\n    /**\n     * 打开页面\n     * @param page\n     * @param intent\n     */\n    startPage(page, intent = {}) {\n        this.inject.startPage(page, intent);\n    }\n    // /**\n    //  * 渲染UI\n    //  * @param UI\n    //  * @param args\n    //  */\n    // ui<U extends typeof UI<any, any>>(UI: U, ...args: ConstructorParameters<U>): string;\n    // /**\n    //  * 渲染UI\n    //  * @param UI\n    //  */\n    // ui<U extends UI<any, any>>(UI: U): string;\n    /**\n     * 渲染UI\n     * @param ui\n     */\n    ui(is, ...args) {\n        var _a;\n        let ui = new is(...args);\n        ui.page = this;\n        //绑定渲染器\n        ui.wpr = this.wpr;\n        let key = (_a = args[0]) !== null && _a !== void 0 ? _a : \"\";\n        return this.wpr.addUI(ui, `${is.name}_${this.constructor.name}_${key}`);\n    }\n    stop() {\n        this.status = PageStatus.Stop;\n        this.wpr.stop();\n    }\n    resume() {\n        this.status = PageStatus.Stop;\n        this.wpr.resume();\n    }\n    destroy() {\n        this.status = PageStatus.Destroy;\n        this.wpr.destroy();\n    }\n}\n/** 类型 */\nPage.Type = \"Page\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Page);\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPPopup/Page.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPPopup/UI.ts":
    /*!**********************************!*\
      !*** ./src/Plugin/WPPopup/UI.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   bindEvent: () => (/* binding */ bindEvent),\n/* harmony export */   \"default\": () => (/* binding */ UI)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n\n\n/**\n * 绑定点击事件\n * @param key\n * @returns\n */\nconst bindEvent = (key, ...attr) => {\n    return (target, context) => {\n        //初始化\n        context.addInitializer(function () {\n            this.events.push((view) => {\n                view.querySelectorAll(key).forEach((div) => {\n                    div.addEventListener(\"click\", () => {\n                        const t = attr.map((v) => div.getAttribute(v));\n                        this[context.name.toString()](div, ...t);\n                    });\n                });\n            });\n        });\n    };\n};\nclass UI extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /** 事件绑定 */\n    bindEvent(view, ...values) { }\n    /** 唯一ID */\n    get id() {\n        return this._id;\n    }\n    constructor(...listens) {\n        super();\n        this.Tag = \"div\";\n        this.calls = [];\n        /**注解绑定事件 */\n        this.events = [];\n        this._id = _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].randomString(10);\n        this.listens = listens;\n    }\n    /**\n     * 渲染\n     * @param view\n     * @param data\n     */\n    render(data = {}) {\n        var _a, _b, _c, _d;\n        if (!this.view)\n            return;\n        this.data = data;\n        const values = (_b = ((_a = this.listens) !== null && _a !== void 0 ? _a : []).map((key) => data[key])) !== null && _b !== void 0 ? _b : [];\n        try {\n            //渲染模板\n            const template = (_c = this.template(...values)) !== null && _c !== void 0 ? _c : \"\";\n            if (template === false)\n                return;\n            this.view.innerHTML = template;\n            //绑定事件\n            (_d = this.events) === null || _d === void 0 ? void 0 : _d.forEach((event) => event(this.view));\n            //绑定数据\n            this.bindEvent(this.view, ...values);\n        }\n        catch (error) {\n            this.error(\"渲染组件错误\", this, error);\n        }\n    }\n    /**\n     * 可重写\n     */\n    listenUpdate() {\n        //默认为直接重置\n        this.refresh();\n    }\n    /**\n     * 刷新\n     */\n    refresh() {\n        //重新渲染\n        this.wpr.drawing(this);\n    }\n    /**\n     * 打开页面\n     * @param page\n     * @param intent\n     */\n    startPage(page, intent = {}) {\n        var _a, _b;\n        (_b = (_a = this.page) === null || _a === void 0 ? void 0 : _a.inject) === null || _b === void 0 ? void 0 : _b.startPage(page, intent);\n    }\n    /**\n     *\n     * @param div\n     * @param event\n     * @param listener\n     */\n    addEventListener(div, event, listener) {\n        div.addEventListener(event, listener);\n        const call = () => div.removeEventListener(event, listener);\n        this.calls.push(call);\n        return call;\n    }\n    /**\n     *\n     * @param div\n     * @param key\n     * @param listener\n     */\n    addKeyDownListener(div, key, listener) {\n        const callback = (e) => {\n            if (e.key === key)\n                listener(e);\n        };\n        div.addEventListener(\"keydown\", callback);\n        const call = () => div.removeEventListener(\"keydown\", callback);\n        this.calls.push(call);\n        return call;\n    }\n    /**\n     * 绑定回调事件\n     * @param div\n     * @param selector\n     * @param listener\n     */\n    addClickListener(div, selector, listener) {\n        Array.from(selector === \"self\" ? [div] : div.querySelectorAll(selector)).forEach((item) => {\n            item.addEventListener(\"click\", listener);\n            const call = () => item.removeEventListener(\"click\", listener);\n            this.calls.push(call);\n        });\n    }\n    /**\n     * 控制显示隐藏\n     * @param div\n     * @param hidden\n     */\n    hidden(div, hidden = true) {\n        if (hidden)\n            div.classList.add(\"wie-hidden-style\");\n        else\n            div.classList.remove(\"wie-hidden-style\");\n        return hidden;\n    }\n    resume() { }\n    stop() { }\n    /**\n     *\n     */\n    destroy() {\n        this.calls.forEach((call) => call());\n    }\n    get config() {\n        return this.page.setting;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPPopup/UI.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPPopup/WPPopup.ts":
    /*!***************************************!*\
      !*** ./src/Plugin/WPPopup/WPPopup.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BackSVG: () => (/* binding */ BackSVG),\n/* harmony export */   SettingSVG: () => (/* binding */ SettingSVG),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _lib_UIDrag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../lib/UIDrag */ \"./src/lib/UIDrag.ts\");\n/* harmony import */ var _lib_decorator_delay__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../lib/decorator/delay */ \"./src/lib/decorator/delay.ts\");\n/* harmony import */ var _WPOS__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../WPOS */ \"./src/Plugin/WPOS.ts\");\n/* harmony import */ var _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../WPRender/WPRender */ \"./src/Plugin/WPRender/WPRender.ts\");\n/* harmony import */ var _WPSettingPopup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../WPSettingPopup */ \"./src/Plugin/WPSettingPopup.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n\n\n\n\n\nconst SettingSVG = `<svg t=\"1681884388357\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3262\" ><path d=\"M859.83 506.6c-0.26-50.02 29.27-93 71.78-112.88-9.86-35.72-23.95-70.85-43.53-104.36-19.99-34.22-44.23-64.31-71.18-90.84-38.25 27.65-90.53 32.39-134.2 7.48-43.56-24.86-66.06-72.11-61.86-118.99-73.22-19.04-151.28-18.69-226.4 2.16 4.81 46.94-17.22 94.57-60.62 119.93-43.19 25.23-95.19 21.16-133.67-5.74-54.74 55.48-92.98 123.53-111.97 196.79 43.24 19.23 73.62 62.24 73.88 112.64 0.25 50.02-29.27 93-71.79 112.88 9.86 35.72 23.95 70.84 43.53 104.36 19.99 34.22 44.23 64.31 71.18 90.84 38.25-27.65 90.53-32.39 134.2-7.48 43.56 24.86 66.06 72.11 61.86 118.99 73.22 19.04 151.28 18.69 226.4-2.16-4.81-46.94 17.22-94.57 60.62-119.93 43.19-25.23 95.19-21.16 133.67 5.74 54.74-55.48 92.98-123.53 111.97-196.79-43.23-19.23-73.61-62.24-73.87-112.64z\" p-id=\"3263\" data-spm-anchor-id=\"a313x.7781069.0.i4\" class=\"selected\"></path><path d=\"M506.1 678.88c-61.28 0-120.99-31.6-154.07-88.22-24-41.07-30.56-89.04-18.49-135.05 12.08-46.01 41.35-84.57 82.42-108.56 41.08-24 89.03-30.56 135.05-18.49 46.01 12.08 84.57 41.35 108.56 82.42 49.54 84.79 20.85 194.07-63.94 243.61-28.16 16.46-59.05 24.29-89.53 24.29z m-0.48-283.42c-18.44 0-36.61 4.88-52.95 14.43-24.29 14.19-41.6 36.99-48.74 64.2s-3.26 55.57 10.93 79.87c29.3 50.15 93.93 67.1 144.07 37.81 50.14-29.3 67.11-93.93 37.81-144.07-14.19-24.29-36.99-41.6-64.21-48.74-8.9-2.35-17.94-3.5-26.91-3.5z\" fill=\"#FFFFFF\" p-id=\"3264\" data-spm-anchor-id=\"a313x.7781069.0.i5\" class=\"\"></path></svg>`;\nconst BackSVG = '<svg t=\"1681733776772\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3736\" data-spm-anchor-id=\"a313x.7781069.0.i3\" ><path d=\"M478.104276 337.595469V184.66079L114.48369 442.197642l363.620586 257.597261V548.220967c145.529941 0.060409 280.456525 7.405763 394.534756 210.864063 0.001024-129.244021-21.321388-417.874222-394.534756-421.489561z\" fill=\"#8a8a8a\" p-id=\"3737\" data-spm-anchor-id=\"a313x.7781069.0.i2\" class=\"selected\"></path><path d=\"M447.778841 307.270034V154.334331L84.158254 411.871182 447.778841 669.468444V517.894508c145.529941 0.060409 280.456525 7.405763 394.534756 210.864063 0-129.244021-21.322412-417.874222-394.534756-421.488537z\"  p-id=\"3738\" data-spm-anchor-id=\"a313x.7781069.0.i0\" class=\"\"></path><path d=\"M283.00269 350.410162a27.283472 57.977507 55.515 1 0 95.578754-65.652623 27.283472 57.977507 55.515 1 0-95.578754 65.652623Z\" fill=\"#FEFEFE\" p-id=\"3739\"></path><path d=\"M224.416795 445.822358a18.189323 31.830547 55.515 1 0 52.474213-36.044304 18.189323 31.830547 55.515 1 0-52.474213 36.044304Z\" fill=\"#FEFEFE\" p-id=\"3740\"></path></svg>';\n/**\n * 弹窗插件\n */\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _WPPopup_os_accessor_storage, _WPPopup_settingPopup_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _os_decorators;\n    let _os_initializers = [];\n    let _settingPopup_decorators;\n    let _settingPopup_initializers = [];\n    let _delayClose_decorators;\n    let _cancelDelayClose_decorators;\n    return _a = class WPPopup extends _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_6__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                _WPPopup_os_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _os_initializers, void 0)));\n                _WPPopup_settingPopup_accessor_storage.set(this, __runInitializers(this, _settingPopup_initializers, void 0));\n                /** 唯一ID */\n                this.id = \"WPPopup\";\n                this.pages = [];\n                this.init = false;\n                // /**\n                //  * 更新返回按钮状态\n                //  * @param inject\n                //  */\n                // public updateBackLister(inject: InjectPages) {\n                //     if (this.topInject !== inject) return;\n                //     this.backBtn.classList[inject.stack.length > 1 ? \"remove\" : \"add\"](\"disabled\");\n                // }\n            }\n            get os() { return __classPrivateFieldGet(this, _WPPopup_os_accessor_storage, \"f\"); }\n            set os(value) { __classPrivateFieldSet(this, _WPPopup_os_accessor_storage, value, \"f\"); }\n            get settingPopup() { return __classPrivateFieldGet(this, _WPPopup_settingPopup_accessor_storage, \"f\"); }\n            set settingPopup(value) { __classPrivateFieldSet(this, _WPPopup_settingPopup_accessor_storage, value, \"f\"); }\n            onLoad() {\n                super.onLoad(this.createRoot());\n            }\n            /**\n             * 打开页面\n             * @param page\n             * @param intent\n             */\n            startPage(inject, page, intent) {\n                //初始化UI\n                if (this.init === false) {\n                    this.render();\n                    this.init = true;\n                }\n                const last = this.last;\n                const p = new page(inject, intent);\n                this.pages.push(p);\n                p.onLoad(this.createPageRoot(inject, this.pages.length));\n                //如果有上一个页面,暂停上一个页面\n                if (last)\n                    last.stop();\n                this.updateBack();\n                this.show();\n                return p;\n            }\n            updateInjectBtn(name) {\n                this.injectBtn.innerText = name;\n            }\n            /**\n             * 最后一个页面\n             */\n            get last() {\n                return this.pages[this.pages.length - 1];\n            }\n            /**\n             * 回退页面\n             */\n            back() {\n                var _a;\n                if (this.pages.length <= 1)\n                    return;\n                const page = this.pages.pop();\n                if (page)\n                    page.destroy();\n                //获取最后一个\n                (_a = this.last) === null || _a === void 0 ? void 0 : _a.resume();\n                this.updateBack();\n            }\n            updateBack() {\n                const { pages = [] } = this;\n                this.backBtn.classList[pages.length > 1 ? \"remove\" : \"add\"](\"disabled\");\n                if (this.last)\n                    this.updateInjectBtn(this.last.inject.CName);\n                //更新页面数量\n                if (pages.length === 1)\n                    this.pageCount.classList.add(\"wie-hidden\");\n                else\n                    this.pageCount.classList.remove(\"wie-hidden\");\n                this.pageCount.innerText = `${pages.length - 1}`;\n            }\n            /**\n             * 注入UI Root\n             * @param inject\n             * @returns\n             */\n            createPageRoot(inject, index) {\n                const id = inject.Name;\n                const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(\"\", {\n                    id: `wie-${id}-${index}`,\n                    className: \"wie-inject\",\n                    parent: this.pageParent,\n                    events: {\n                        wheel: (e) => {\n                            e.stopPropagation();\n                        },\n                        touchstart: (e) => {\n                            e.stopPropagation();\n                        },\n                        touchmove: (e) => {\n                            e.stopPropagation();\n                        },\n                    },\n                });\n                return div;\n            }\n            template(data) {\n                return `<div id=\"wie-drag\"></div>\r\n        <div class='wie-option'>\r\n            <div id='wie-setting' class='wie-option-item'>${SettingSVG}</div>\r\n            <div id='wie-fixed' class='wie-option-item ${this.fixed ? \"fixed\" : \"\"}'><svg t=\"1680491761331\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5429\" ><path d=\"M1017.302616 364.657556c-7.597032 13.994533-21.691527 25.490043-47.381491 25.490043-2.499024 0-5.098009-0.099961-7.796955-0.299883h-65.07458c-9.39633 0-18.292854 4.098399-24.390472 11.295587L678.335025 629.654041c-17.992971 21.091761-28.588832 47.481453-30.288168 75.170637l-6.697384 111.25654c-0.99961 15.593909-6.997267 30.588052-17.693089 41.9836-7.397111 7.896915-17.293245 14.594299-30.288168 15.793831-1.299492 0.099961-2.598985 0.199922-3.798517 0.199922-11.49551 0-22.491214-4.798126-30.688012-12.994924l-0.199922-0.199922-147.542366-149.541585L7.597032 1021.700898l-2.998828 2.299102 2.299102-2.998829 310.378758-403.542366-149.441624-147.542366-0.199922-0.199922c-9.096447-9.096447-13.994533-21.691527-12.795002-34.486529 1.199531-12.894963 7.996876-22.891058 15.79383-30.288168 11.395549-10.695822 26.389692-16.79344 41.983601-17.693089l111.25654-6.697384c27.689184-1.699336 54.078875-12.295197 75.170636-30.288169L627.4549 155.939086c7.197189-6.097618 11.295588-14.994143 11.295588-24.390472V66.474034c-2.499024-30.688012 9.796173-46.781726 25.19016-55.178446 8.296759-4.498243 17.393206-6.697384 26.389692-6.697384 14.794221 0 29.488481 5.897696 40.384225 16.79344l0.099961 0.099961 137.246388 138.245997 0.699726 0.699727 138.245998 137.346349 0.099961 0.099961c17.693089 17.693089 22.191332 44.882468 10.196017 66.773917z\" p-id=\"5430\" data-spm-anchor-id=\"a313x.7781069.0.i2\" class=\"selected\"></path></svg></div>\r\n            <div id='wie-close' class='wie-option-item'><svg t=\"1680493355929\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7926\"><path d=\"M301.202286 1024L219.428571 940.836571 641.024 512 219.428571 83.163429 301.202286 0 804.571429 512z\" p-id=\"7927\"></path></svg></div>\r\n            <wie-buttons id=\"wie-buttons\">\r\n            <div id='wie-page-count'></div>\r\n            <div id=\"wie-inject-btn\" class=\"wie-inject-btn selected\">23234</div>\r\n            </wie-buttons>\r\n            <div id='wie-back' class='wie-option-item disabled'>${BackSVG}</div>\r\n        </div>\r\n        <div id=\"wie-injects\">\r\n        </div>`;\n            }\n            createRoot() {\n                return _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(\"\", {\n                    events: {\n                        // wheel: this.imgWheel,\n                        mouseenter: () => this.cancelDelayClose(),\n                        mouseleave: () => this.delayClose(),\n                        wheel: (e) => {\n                            e.stopPropagation();\n                        },\n                    },\n                    tag: \"wie-popup\",\n                    className: `wie-hidden ${this.os.isMobile ? \"wie-mobile\" : \"\"}`,\n                });\n            }\n            get fixed() {\n                const { Fixed } = this.engine.setting;\n                return Fixed;\n            }\n            /**\n             * 创建UI\n             */\n            bindEvent(div) {\n                // const div = DOMTool.createDiv(this.createDiv(), {\n                //     events: {\n                //         // wheel: this.imgWheel,\n                //         mouseenter: () => this.cancelDelayClose(),\n                //         mouseleave: () => this.delayClose(),\n                //         wheel: (e) => {\n                //             e.stopPropagation();\n                //         },\n                //     },\n                //     tag: \"wie-popup\",\n                //     className: `wie-hidden ${this.os.isMobile ? \"wie-mobile\" : \"\"}`,\n                // });\n                //添加样式\n                this.pageParent = div.querySelector(\"#wie-injects\");\n                this.injectBtn = div.querySelector(\"#wie-inject-btn\");\n                this.backBtn = div.querySelector(\"#wie-back\");\n                this.pageCount = div.querySelector(\"#wie-page-count\");\n                this.backBtn.addEventListener(\"click\", () => {\n                    this.back();\n                });\n                //关闭按钮绑定\n                const closeBtn = div.querySelector(\"#wie-close\");\n                closeBtn.addEventListener(\"click\", () => {\n                    this.close();\n                });\n                //固定按钮绑定\n                const fixedBtn = div.querySelector(\"#wie-fixed\");\n                fixedBtn.addEventListener(\"click\", () => {\n                    fixedBtn.classList.toggle(\"fixed\");\n                    this.engine.updateSetting({ Fixed: !this.fixed });\n                    // Tool.notify(\"固定显示已\" + (this.fixed ? \"开启\" : \"关闭\"));\n                    // .engine.updateSetting({ Fixed: this.fixed });\n                });\n                div.querySelector(\"#wie-setting\").addEventListener(\"click\", (e) => {\n                    this.settingPopup.show();\n                });\n                let { Width } = this.engine.setting;\n                Width = Math.min(Width, window.innerWidth - 30);\n                div.style.width = `${Width}px`;\n                let width = Number(Width);\n                // if (!this.wie.isMobile) {\n                if (window.innerWidth > 500) {\n                    new _lib_UIDrag__WEBPACK_IMPORTED_MODULE_3__[\"default\"](div, () => {\n                        width = div.offsetWidth;\n                        this.engine.updateSetting({ Width: width });\n                    });\n                }\n                const drag = div.querySelector(\"#wie-drag\");\n                drag.addEventListener(\"touchstart\", (e) => {\n                    e.stopPropagation();\n                });\n                drag.addEventListener(\"touchmove\", (e) => {\n                    e.stopPropagation();\n                });\n                drag.addEventListener(\"touchend\", (e) => {\n                    e.stopPropagation();\n                });\n            }\n            /**\n             * 是否为打开状态\n             * @returns\n             */\n            isShow() {\n                return !this.root.classList.contains(\"wie-hidden\");\n            }\n            /**\n             * 更新位置信息\n             */\n            show() {\n                var _a;\n                //如果是显示状态,不执行\n                if (!this.isClose)\n                    return false;\n                this.root.classList.remove(\"wie-hidden\");\n                (_a = this.last) === null || _a === void 0 ? void 0 : _a.resume();\n                return true;\n            }\n            delayClose() {\n                if (!this.fixed)\n                    this.close();\n            }\n            cancelDelayClose() { }\n            get isClose() {\n                return this.root.classList.contains(\"wie-hidden\");\n            }\n            close() {\n                var _a;\n                //如果是隐藏状态,不执行\n                if (this.isClose)\n                    return;\n                this.root.classList.add(\"wie-hidden\");\n                (_a = this.last) === null || _a === void 0 ? void 0 : _a.stop();\n            }\n        },\n        _WPPopup_os_accessor_storage = new WeakMap(),\n        _WPPopup_settingPopup_accessor_storage = new WeakMap(),\n        (() => {\n            _os_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_WPOS__WEBPACK_IMPORTED_MODULE_5__[\"default\"])];\n            _settingPopup_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_WPSettingPopup__WEBPACK_IMPORTED_MODULE_7__[\"default\"])];\n            _delayClose_decorators = [(0,_lib_decorator_delay__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(1000)];\n            _cancelDelayClose_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_1__[\"default\"].DelayCancel(\"delayClose\")];\n            __esDecorate(_a, null, _os_decorators, { kind: \"accessor\", name: \"os\", static: false, private: false, access: { has: obj => \"os\" in obj, get: obj => obj.os, set: (obj, value) => { obj.os = value; } } }, _os_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _settingPopup_decorators, { kind: \"accessor\", name: \"settingPopup\", static: false, private: false, access: { has: obj => \"settingPopup\" in obj, get: obj => obj.settingPopup, set: (obj, value) => { obj.settingPopup = value; } } }, _settingPopup_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _delayClose_decorators, { kind: \"method\", name: \"delayClose\", static: false, private: false, access: { has: obj => \"delayClose\" in obj, get: obj => obj.delayClose } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _cancelDelayClose_decorators, { kind: \"method\", name: \"cancelDelayClose\", static: false, private: false, access: { has: obj => \"cancelDelayClose\" in obj, get: obj => obj.cancelDelayClose } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPPopup/WPPopup.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPRender/WPRender.ts":
    /*!*****************************************!*\
      !*** ./src/Plugin/WPRender/WPRender.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n/* harmony import */ var _lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _MPMonitor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MPMonitor */ \"./src/Plugin/MPMonitor.ts\");\n/* harmony import */ var _WPData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../WPData */ \"./src/Plugin/WPData.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _WPRender_monitor_accessor_storage, _WPRender_data_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _monitor_decorators;\n    let _monitor_initializers = [];\n    let _data_decorators;\n    let _data_initializers = [];\n    return _a = class WPRender extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                _WPRender_monitor_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _monitor_initializers, void 0)));\n                /** uis缓存 */\n                this.uis = {};\n                /** 栈 */\n                this.stack = [];\n                _WPRender_data_accessor_storage.set(this, __runInitializers(this, _data_initializers, void 0));\n            }\n            get monitor() { return __classPrivateFieldGet(this, _WPRender_monitor_accessor_storage, \"f\"); }\n            set monitor(value) { __classPrivateFieldSet(this, _WPRender_monitor_accessor_storage, value, \"f\"); }\n            get data() { return __classPrivateFieldGet(this, _WPRender_data_accessor_storage, \"f\"); }\n            set data(value) { __classPrivateFieldSet(this, _WPRender_data_accessor_storage, value, \"f\"); }\n            onLoad(root) {\n                this.root = root;\n            }\n            drawing(ui) {\n                if (!ui.view)\n                    return;\n                // this.log(\"drawing\", this.data);\n                //渲染html\n                ui.render(this.data.data);\n                this.handleStack();\n            }\n            handleStack() {\n                //处理栈\n                while (this.stack.length) {\n                    const ui = this.stack.pop();\n                    // this.log(\"renderUI\", ui, this.stack);\n                    const view = this.root.querySelector(`#${ui.id}`);\n                    //渲染模板\n                    if (view) {\n                        ui.view = view;\n                        ui.render(this.data.data);\n                    }\n                }\n            }\n            render() {\n                this.root.innerHTML = this.template(this.data.data);\n                this.bindEvent(this.root);\n                //渲染UI\n                this.handleStack();\n            }\n            /**\n             * 模板\n             * @param data\n             */\n            template(data) {\n                return \"\";\n            }\n            /**\n             * 绑定事件\n             * @param root\n             */\n            bindEvent(root) { }\n            addUI(ui, key) {\n                //入栈\n                this.stack.push(ui);\n                let cache = this.uis[key];\n                if (cache)\n                    cache.unsub();\n                //监听数据\n                const unsub = this.monitor.add(() => ui.listenUpdate(), ...ui.listens);\n                this.uis[key] = { ui, unsub };\n                const { Tag = \"div\", id, cls } = ui;\n                return `<${Tag} id='${id}' ${cls ? `class='${cls}'` : \"\"}></${Tag}>`;\n            }\n            resume() {\n                for (let key in this.uis) {\n                    const ui = this.uis[key];\n                    ui.ui.resume && ui.ui.resume();\n                }\n                this.root.classList.remove(\"wie-hidden-style\");\n            }\n            stop() {\n                for (let key in this.uis) {\n                    const ui = this.uis[key];\n                    ui.ui.stop && ui.ui.stop();\n                }\n                this.root.classList.add(\"wie-hidden-style\");\n            }\n            destroy() {\n                for (let key in this.uis) {\n                    const ui = this.uis[key];\n                    ui.ui.destroy && ui.ui.destroy();\n                }\n                this.root.remove();\n            }\n        },\n        _WPRender_monitor_accessor_storage = new WeakMap(),\n        _WPRender_data_accessor_storage = new WeakMap(),\n        (() => {\n            _monitor_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_MPMonitor__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n            _data_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_WPData__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n            __esDecorate(_a, null, _monitor_decorators, { kind: \"accessor\", name: \"monitor\", static: false, private: false, access: { has: obj => \"monitor\" in obj, get: obj => obj.monitor, set: (obj, value) => { obj.monitor = value; } } }, _monitor_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _data_decorators, { kind: \"accessor\", name: \"data\", static: false, private: false, access: { has: obj => \"data\" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } } }, _data_initializers, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPRender/WPRender.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPSettingPopup.ts":
    /*!**************************************!*\
      !*** ./src/Plugin/WPSettingPopup.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Injects_CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Injects/CodeFind/BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n/* harmony import */ var _lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lib/Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WPRender/WPRender */ \"./src/Plugin/WPRender/WPRender.ts\");\n/* harmony import */ var _WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./WPSetting/WPSetting */ \"./src/Plugin/WPSetting/WPSetting.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n\n\n\nconst CloseSVG = '<svg t=\"1681962565726\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3622\"><path d=\"M928.426667 873.813333h-785.066667v-375.466666h785.066667v375.466666z m-750.933334-34.133333h716.8v-307.2h-716.8v307.2z\" p-id=\"3623\"></path><path d=\"M258.423467 514.901333l204.4928-306.756266 28.398933 18.944-204.458667 306.722133z\" p-id=\"3624\"></path><path d=\"M535.893333 293.546667c-47.786667 0-85.333333-37.546667-85.333333-85.333334s37.546667-85.333333 85.333333-85.333333 85.333333 37.546667 85.333334 85.333333-37.546667 85.333333-85.333334 85.333334z m0-136.533334c-27.306667 0-51.2 23.893333-51.2 51.2s23.893333 51.2 51.2 51.2 51.2-23.893333 51.2-51.2-20.48-51.2-51.2-51.2z\" p-id=\"3625\"></path><path d=\"M588.117333 238.353067l28.672-18.5344 187.2896 289.450666-28.672 18.5344z\" p-id=\"3626\"></path><path d=\"M266.24 785.066667c-30.72 0-58.026667-27.306667-58.026667-58.026667v-85.333333c0-30.72 27.306667-58.026667 58.026667-58.026667s58.026667 27.306667 58.026667 58.026667h-27.306667c0-17.066667-13.653333-27.306667-27.306667-27.306667-17.066667 0-27.306667 13.653333-27.306666 27.306667v85.333333c0 17.066667 13.653333 27.306667 27.306666 27.306667 17.066667 0 27.306667-13.653333 27.306667-27.306667h27.306667c0 34.133333-27.306667 58.026667-58.026667 58.026667zM856.746667 785.066667h-98.986667v-201.386667h98.986667v27.306667H785.066667v146.773333h71.68z\" fill=\"#FF9A22\" p-id=\"3627\"></path><path d=\"M771.413333 669.013333h58.026667v27.306667h-58.026667zM453.973333 785.066667h-98.986666v-187.733334h27.306666v160.426667h71.68zM525.653333 785.066667c-30.72 0-58.026667-27.306667-58.026666-58.026667v-85.333333c0-30.72 27.306667-58.026667 58.026666-58.026667 30.72 0 58.026667 27.306667 58.026667 58.026667v85.333333c0 34.133333-27.306667 58.026667-58.026667 58.026667z m0-174.08c-17.066667 0-27.306667 13.653333-27.306666 27.306666v85.333334c0 17.066667 13.653333 27.306667 27.306666 27.306666 17.066667 0 27.306667-13.653333 27.306667-27.306666v-85.333334c3.413333-13.653333-10.24-27.306667-27.306667-27.306666zM669.013333 785.066667c-30.72 0-54.613333-23.893333-58.026666-54.613334l27.306666-3.413333c0 13.653333 13.653333 27.306667 27.306667 27.306667 17.066667 0 27.306667-13.653333 27.306667-27.306667s-10.24-23.893333-30.72-27.306667h-3.413334c-44.373333-10.24-51.2-37.546667-51.2-58.026666 0-30.72 27.306667-58.026667 58.026667-58.026667 30.72 0 54.613333 23.893333 58.026667 54.613333l-27.306667 3.413334c0-13.653333-13.653333-27.306667-27.306667-27.306667-17.066667 0-27.306667 13.653333-27.306666 27.306667s10.24 23.893333 30.72 27.306666v13.653334l3.413333-13.653334c44.373333 10.24 51.2 37.546667 51.2 58.026667 0 34.133333-23.893333 58.026667-58.026667 58.026667z\" fill=\"#FF9A22\" p-id=\"3628\"></path></svg>';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _WPSettingPopup_settings_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _settings_decorators;\n    let _settings_initializers = [];\n    return _a = class WPSettingPopup extends _WPRender_WPRender__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 弹框 */\n                this.dialog = (__runInitializers(this, _instanceExtraInitializers), void 0);\n                _WPSettingPopup_settings_accessor_storage.set(this, __runInitializers(this, _settings_initializers, void 0));\n                // private bindEvent(div: HTMLDivElement) {\n                //     //绑定点击事件\n                //     div.querySelector(\"#close\").addEventListener(\"click\", this.hide);\n                //     div.querySelector(\"#wie-save\").addEventListener(\"click\", this.save);\n                //     console.log(\"bindEvent\", div);\n                //     //处理Inject的事件\n                //     WIESetting.Injects.forEach(({ setting }, key) => {\n                //         setting.bind(div.querySelector(`#wie-setting-${key}`));\n                //     });\n                // }\n                this.save = () => {\n                    //保存\n                    // WIESetting.Injects.forEach(({ setting }) => setting.save());\n                    for (let key in this.settings.settings) {\n                        let setting = this.settings.settings[key];\n                        let update = setting.update;\n                        // this.log(\"WIESetting\", \"save\", setting, update);\n                        if (Object.keys(update).length === 0)\n                            continue;\n                        //\n                        this.log(\"WIESetting\", \"save\", setting, update);\n                        // continue;\n                        //更新\n                        this.settings.update(setting, update);\n                        setting.onSave();\n                    }\n                    this.hide();\n                };\n                this.hide = () => {\n                    this.dialog.close();\n                    for (let key in this.settings.settings) {\n                        let setting = this.settings.settings[key];\n                        setting.clear();\n                    }\n                };\n            }\n            /** 启用的设置 */\n            get settings() { return __classPrivateFieldGet(this, _WPSettingPopup_settings_accessor_storage, \"f\"); }\n            set settings(value) { __classPrivateFieldSet(this, _WPSettingPopup_settings_accessor_storage, value, \"f\"); }\n            onLoad() {\n                super.onLoad(_Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(\"\"));\n                _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].addKeyDownListener(\"F2\", (e) => {\n                    this.show();\n                });\n            }\n            template() {\n                return `<wie-dialog class=\"popup-black\">\r\n            <div class='wie-setting'>\r\n                <wie-area class='no-border'>\r\n                    <div class='setting-title'>WIE 配置</div>\r\n                    <div id='close' >${CloseSVG}</div>\r\n                    <div class='wie-tabs'>\r\n                        ${this.renderInjectTab()}\r\n                    </div>\r\n                </wie-area>\r\n                <div class='wie-scroll'>\r\n                    ${this.renderInjectSetting()}\r\n                </div>\r\n                <wie-area class='no-border'>\r\n                    <wie-btn id='wie-save'>保 存</wie-btn>\r\n                </wie-area>\r\n            </div>\r\n        </wie-dialog>`;\n            }\n            bindEvent(root) {\n                //tab项控制\n                new _Injects_CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_0__[\"default\"](root, {\n                    tabs: Object.keys(this.settings.settings),\n                    tabPrefix: \"wie-tab-\",\n                    contentPrefix: \"wie-setting-\",\n                });\n                //绑定点击事件\n                root.querySelector(\"#close\").addEventListener(\"click\", this.hide);\n                root.querySelector(\"#wie-save\").addEventListener(\"click\", this.save);\n                console.log(\"bindEvent\", root);\n                //处理Inject的事件\n                // WIESetting.Injects.forEach(({ setting }, key) => {\n                //     setting.bind(div.querySelector(`#wie-setting-${key}`));\n                // });\n            }\n            // /**\n            //  * 注入设置\n            //  * @param setting\n            //  * @param name\n            //  */\n            // public static addSetting(setting: InjectSetting, name?: string) {\n            //     WIESetting.Injects.set(setting.inject.Name, { setting, name: name || setting.inject.Name });\n            // }\n            show() {\n                if (this.dialog && this.dialog.isOpen())\n                    return;\n                this.render();\n                this.dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.root.querySelector(\"wie-dialog\"));\n                //如果为打开状态I\n                this.dialog.open();\n            }\n            renderInjectTab() {\n                let html = \"\";\n                for (let key in this.settings.settings) {\n                    let setting = this.settings.settings[key];\n                    html += `<wie-tab id=\"wie-tab-${key}\">${setting.Name}</wie-tab>`;\n                }\n                return html;\n            }\n            /**\n             * 渲染页面\n             * @returns\n             */\n            renderInjectSetting() {\n                let html = \"\";\n                for (let key in this.settings.settings) {\n                    let setting = this.settings.settings[key];\n                    setting.wpr = this;\n                    html += `<div id='wie-setting-${key}'>${this.addUI(setting, setting.constructor.name)}</div>`;\n                }\n                return html;\n            }\n        },\n        _WPSettingPopup_settings_accessor_storage = new WeakMap(),\n        (() => {\n            _settings_decorators = [(0,_lib_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_5__[\"default\"])];\n            __esDecorate(_a, null, _settings_decorators, { kind: \"accessor\", name: \"settings\", static: false, private: false, access: { has: obj => \"settings\" in obj, get: obj => obj.settings, set: (obj, value) => { obj.settings = value; } } }, _settings_initializers, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPSettingPopup.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPSetting/Setting.ts":
    /*!*****************************************!*\
      !*** ./src/Plugin/WPSetting/Setting.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Setting)\n/* harmony export */ });\n/* harmony import */ var _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/ValueUtils */ \"./src/Tools/ValueUtils.ts\");\n/* harmony import */ var _WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../WPPopup/FormUI */ \"./src/Plugin/WPPopup/FormUI.ts\");\n/* harmony import */ var _WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n\n\n\n/**\n * 设置基类\n */\nclass Setting extends _WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor(name, cname) {\n        super();\n        this.update = {};\n        this._id = name;\n        this._name = cname;\n    }\n    /**\n     * 唯一ID\n     */\n    get id() {\n        return this._id;\n    }\n    get Name() {\n        return this._name;\n    }\n    /**\n     * 模板\n     */\n    template(data) {\n        return \"\";\n    }\n    /**\n     * 绑定事件\n     */\n    bindEvent(view) { }\n    // /**\n    //  * 渲染UI\n    //  * @param UI\n    //  */\n    // ui<U extends UI<any, any>>(UI: U): string;\n    /**\n     * 渲染UI\n     * @param ui\n     */\n    ui(is, ...args) {\n        var _a;\n        let ui = new is(...args);\n        ui.page = this;\n        ui.wpr = this.wpr;\n        let key = (args[0] = \"\");\n        if (ui instanceof _WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n            ui.form = this;\n            //先从update中取值,再从setting中取值\n            let value = (_a = _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(this.update, ui.ename)) !== null && _a !== void 0 ? _a : _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getValue(this.setting, ui.ename);\n            if (typeof value === \"object\")\n                value = JSON.parse(JSON.stringify(value));\n            ui.set(value);\n            // ui.set(ui.value ?? JSON.parse(JSON.stringify(ValueUtils.getValue(this.setting, ui.ename))));\n        }\n        return this.wpr.addUI(ui, `${is.name}_${this.constructor.name}_${key}`);\n    }\n    onChange(key, value) {\n        // Tool.merge(this.update, { [key]: value });\n        _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setValue(this.update, key, value);\n        // this.log(\"onChange\", key, value, this.update);\n    }\n    clear() {\n        this.update = {};\n    }\n    /**\n     * 保存成功时调用\n     */\n    onSave() {\n        this.clear();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPSetting/Setting.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPSetting/WPSetting.ts":
    /*!*******************************************!*\
      !*** ./src/Plugin/WPSetting/WPSetting.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPSetting)\n/* harmony export */ });\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n\n\n/**\n * WPSetting\n */\nclass WPSetting extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 所有设置缓存 */\n        this.settings = {};\n    }\n    /**\n     * 获取设置\n     * @param setting\n     */\n    bind(setting) {\n        this.settings[setting.id] = setting;\n        if (!setting.setting) {\n            setting.setting = this.getValue(setting.id, setting.DefaultSetting);\n            setting.setting = _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].merge(setting.DefaultSetting, setting.setting, true);\n        }\n        return setting;\n    }\n    /**\n     * 关闭缓存\n     * @param Set\n     */\n    unbind(setting) {\n        delete this.settings[setting.id];\n    }\n    /**\n     * 更新设置\n     * @param Set\n     * @param data\n     */\n    update(setting, data) {\n        if (!setting)\n            return;\n        //更新设置\n        _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].merge(setting.setting, data);\n        //保存设置\n        this.setValue(setting.id, setting.setting);\n    }\n    /**\n     * 重置设置\n     * @param setting\n     */\n    reset(setting) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_deleteValue(`WIE_Setting_${setting.id}`);\n    }\n    setValue(key, value) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_setValue(`WIE_Setting_${key}`, value);\n    }\n    getValue(key, defaultValue) {\n        return _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_getValue(`WIE_Setting_${key}`, defaultValue);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPSetting/WPSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Plugin/WPTheme.ts":
    /*!*******************************!*\
      !*** ./src/Plugin/WPTheme.ts ***!
      \*******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WPTheme)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n\nclass WPTheme extends _lib_Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    onLoad() {\n        this.updateTheme();\n    }\n    /**\n     * 修改主题\n     * @param maps\n     * @returns\n     */\n    updateTheme() {\n        const { Theme: maps, Enter } = this.engine.setting;\n        // this.log(\"----开始设置主题\", document.body?.innerHTML.length);\n        const themes = Object.assign({}, maps);\n        if (maps.mainColor) {\n            themes.mainLightColor = _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].lightenDarkenColor(maps.mainColor, 150);\n            themes.mainLLColor = _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].lightenDarkenColor(maps.mainColor, 20);\n        }\n        if (maps.color) {\n            themes.colorLight = _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].lightenDarkenColor(maps.color, 125);\n        }\n        try {\n            this.setStyle(document.documentElement, themes);\n            this.setStyle(document.documentElement, { CodeHoverTime: `${Enter}ms` });\n        }\n        catch (e) {\n            this.log(\"写入主题失败\", e, document.documentElement, document.body);\n            return false;\n        }\n        return true;\n    }\n    setStyle(item, themes) {\n        Object.keys(themes).forEach((key) => {\n            item.style.setProperty(`--${key}`, themes[key]);\n        });\n    }\n    /**\n     * 颜色变淡\n     * @param col\n     * @param opacity\n     * @returns\n     */\n    static lightenDarkenColor(col, opacity) {\n        //为颜色添加透明度\n        return col + opacity.toString(16);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Plugin/WPTheme.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/DOMTool.ts":
    /*!******************************!*\
      !*** ./src/Tools/DOMTool.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * DOM工具\n */\nclass DOMTool {\n    /**\n     * 拦截事件\n     */\n    static InjectEvent() {\n        if (this.isInject)\n            return;\n        this.isInject = true;\n        const addListener = EventTarget.prototype.addEventListener;\n        EventTarget.prototype.addEventListener = function (type, ...args) {\n            if (type !== \"XContentLoaded\")\n                return addListener.call(this, type, ...args);\n            document.readyState !== \"loading\" ? args[0]() : addListener.call(this, \"DOMContentLoaded\", ...args);\n        };\n    }\n    /**\n     * 监听事件\n     * @param callback\n     */\n    static onLoaded(callback) {\n        const call = window.onload;\n        window.onload = (ev) => {\n            if (call)\n                call.call(this, ev);\n            callback.call(this, ev);\n        };\n    }\n    static onDomLoaded(callback) {\n        document.addEventListener(\"XContentLoaded\", callback, { once: true });\n    }\n    /**\n     * 查询所有匹配元素\n     * @param match\n     * @returns\n     */\n    static selectAll(match) {\n        return document.querySelectorAll(match);\n    }\n    /**\n     * 查询单个元素\n     * @param match\n     * @returns\n     */\n    static select(match) {\n        return document.querySelector(match);\n    }\n    /**\n     *\n     * @param div\n     * @param key\n     * @param listener\n     */\n    static addKeyDownListener(key, listener, div = document) {\n        const callback = (e) => {\n            if (e.key === key)\n                listener(e);\n        };\n        div.addEventListener(\"keydown\", callback);\n        const call = () => div.removeEventListener(\"keydown\", callback);\n        return call;\n    }\n    /**\n     * 创建元素\n     * @param tag\n     * @param attrs\n     * @param child\n     * @returns\n     */\n    static create(tag, attrs = {}, child) {\n        const node = document.createElement(tag);\n        for (const [name, value] of Object.entries(attrs))\n            node.setAttribute(name, value);\n        if (child)\n            node.append(child);\n        return node;\n    }\n    /**\n     * 创建视频元素\n     * @param sources\n     * @param attrs\n     * @returns\n     */\n    static createVideo(sources, attrs = {}) {\n        var _a;\n        if (typeof sources === \"string\")\n            sources = [{ src: sources, type: \"video/mp4\" }];\n        const video = this.create(\"video\", attrs);\n        video.controls = true;\n        video.currentTime = 3;\n        video.volume = Number((_a = localStorage.getItem(\"volume\")) !== null && _a !== void 0 ? _a : 0);\n        video.preload = \"none\";\n        video.append(...sources.map((item) => this.create(\"source\", item)));\n        let timer = null;\n        video.addEventListener(\"volumechange\", ({ target }) => {\n            if (timer)\n                clearTimeout(timer);\n            timer = setTimeout(() => localStorage.setItem(\"volume\", target.volume), 1000);\n        });\n        video.addEventListener(\"keyup\", ({ code, target }) => {\n            if (code === \"Enter\") {\n                target.requestFullscreen();\n                target.play();\n            }\n            if (code === \"KeyM\")\n                target.muted = !target.muted;\n        });\n        return video;\n    }\n    /**\n     * 创建div\n     * @param innerHTML\n     * @param options\n     * @returns\n     */\n    static createDiv(innerHTML, options = {}) {\n        var _a;\n        const div = document.createElement((_a = options.tag) !== null && _a !== void 0 ? _a : \"div\");\n        const { className, id, listeners, events, parent = document.body, tooltip } = options;\n        if (id) {\n            const old = document.getElementById(id);\n            if (old)\n                old.remove();\n            div.id = id;\n        }\n        if (className)\n            div.className = className;\n        if (tooltip)\n            div.setAttribute(\"wie-tooltip\", tooltip);\n        div.innerHTML = innerHTML;\n        //事件监听\n        if (events) {\n            for (const key in events) {\n                div.addEventListener(key, events[key]);\n            }\n        }\n        if (listeners) {\n            for (const key in listeners) {\n                div.querySelector(key).addEventListener(\"click\", listeners[key]);\n            }\n        }\n        if (parent)\n            parent.appendChild(div);\n        return div;\n    }\n    static get Favicon() {\n        var _a;\n        return (_a = document.querySelector('link[rel=\"shortcut icon\"]')) === null || _a === void 0 ? void 0 : _a.href;\n    }\n}\nDOMTool.isInject = false;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DOMTool);\n//注入拦截\nDOMTool.InjectEvent();\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/DOMTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Decorator.ts":
    /*!********************************!*\
      !*** ./src/Tools/Decorator.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Delay: () => (/* binding */ Delay),\n/* harmony export */   DelayCancel: () => (/* binding */ DelayCancel),\n/* harmony export */   DelayTime: () => (/* binding */ DelayTime),\n/* harmony export */   LogFunc: () => (/* binding */ LogFunc),\n/* harmony export */   Time: () => (/* binding */ Time),\n/* harmony export */   TryCatch: () => (/* binding */ TryCatch),\n/* harmony export */   \"default\": () => (/* binding */ Decorator),\n/* harmony export */   immutable: () => (/* binding */ immutable),\n/* harmony export */   observable: () => (/* binding */ observable)\n/* harmony export */ });\n/* harmony import */ var _Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Logger */ \"./src/Tools/Logger.ts\");\n\nfunction capitalizeFirstLetter(str) {\n    return str.charAt(0).toUpperCase() + str.slice(1);\n}\nclass Decorator {\n    /**\n     * 时长统计\n     * @param func\n     * @param propertyKey\n     * @param descriptor\n     */\n    static Time(func, context) {\n        return function (...args) {\n            var _a;\n            const key = `【类:${(_a = this.constructor) === null || _a === void 0 ? void 0 : _a.Name}-方法:${context.name.toString()}】:耗时`;\n            console.time(key);\n            const result = func.call(this, ...args);\n            console.timeEnd(key);\n            return result;\n        };\n    }\n    /**\n     * 打印方法参数\n     * @param func\n     * @param propertyKey\n     */\n    static LogFunc(func, context) {\n        return function (...args) {\n            var _a, _b;\n            _Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(`执行:${(_b = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a.Name) !== null && _b !== void 0 ? _b : this.constructor.name}.${context.name.toString()}`, ...args);\n            return func.call(this, ...args);\n        };\n    }\n    /**\n     * 捕获异常\n     * @param target\n     * @param propertyKey\n     * @param descriptor\n     */\n    static TryCatch(target, propertyKey, descriptor) {\n        const func = descriptor.value;\n        descriptor.value = function (...args) {\n            var _a;\n            try {\n                return func.call(this, ...args);\n            }\n            catch (error) {\n                _Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(`执行:${(_a = target.constructor) === null || _a === void 0 ? void 0 : _a.Name}.${propertyKey}异常`, error);\n            }\n        };\n    }\n    /**\n     * 监听属性变化\n     *\n     * 调用on${propertyKey}Change方法\n     */\n    static observable(target, key) {\n        const targetKey = \"on\" + capitalizeFirstLetter(key) + \"Change\";\n        target[targetKey] = function (fn) {\n            let prev = this[key];\n            Reflect.defineProperty(this, key, {\n                set(next) {\n                    fn(prev, next);\n                    prev = next;\n                },\n            });\n        };\n    }\n    /**\n     * 设置属性不可变\n     * @param target\n     * @param propertyKey\n     * @param descriptor\n     */\n    static immutable(target, propertyKey, descriptor) {\n        const original = descriptor.set;\n        descriptor.set = function (value) {\n            return original.call(this, Object.assign({}, value));\n        };\n    }\n    /**\n     * 延时执行\n     * @param time\n     * @returns\n     */\n    static DelayTime(time = 1000) {\n        // return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n        //     const func = descriptor.value;\n        //     descriptor.value = function (...args: any) {\n        //         clearTimeout(this._delayTimer);\n        //         this._delayTimer = setTimeout(() => {\n        //             func.call(this, ...args);\n        //         }, time);\n        //         // WIE.Instance.log(`执行:${target.constructor?.Name}.${propertyKey}延迟${time}ms`);\n        //     };\n        // };\n        return function (target, context) {\n            return function (...args) {\n                const key = `${context.name.toString()}Timer`;\n                clearTimeout(this[key]);\n                this[key] = setTimeout(() => {\n                    target.call(this, ...args);\n                }, time);\n            };\n        };\n    }\n    /**\n     * 延迟执行\n     * 通过属性delayTime设置延迟时间\n     * 注释:不支持返回值\n     */\n    static Delay(target, context) {\n        return function (...args) {\n            var _a;\n            const key = `${context.name.toString()}Timer`;\n            const time = (_a = this.delayTime) !== null && _a !== void 0 ? _a : 1000;\n            clearTimeout(this[key]);\n            this[key] = setTimeout(() => {\n                target.call(this, ...args);\n            }, time);\n        };\n    }\n    // public static Delay(target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n    //     const func = descriptor.value;\n    //     descriptor.value = function (...args: any) {\n    //         const time = this.delayTime ?? 1000;\n    //         clearTimeout(this._enterTimer);\n    //         this._enterTimer = setTimeout(() => {\n    //             func.call(this, ...args);\n    //         }, time);\n    //         // WIE.Instance.log(`执行:${target.constructor?.Name}.${propertyKey}延迟${time}ms`);\n    //     };\n    // }\n    /**\n     * 取消进入\n     */\n    // public static DelayCancel(target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n    //     const func = descriptor.value;\n    //     descriptor.value = function (...args: any) {\n    //         // WIE.Instance.log(`取消执行:${target.constructor?.Name}.${propertyKey}`, this._enterTimer);\n    //         clearTimeout(this._enterTimer);\n    //         return func.call(this, ...args);\n    //     };\n    // }\n    static DelayCancel(funcName) {\n        return function (func, context) {\n            return function (...args) {\n                // WIE.Instance.log(`取消执行:${target.constructor?.Name}.${propertyKey}`, this._enterTimer);\n                const key = `${funcName}Timer`;\n                clearTimeout(this[key]);\n                return func.call(this, ...args);\n            };\n        };\n    }\n}\n/**\n * 时长统计\n */\nconst Time = Decorator.Time;\n/**\n * 打印方法参数\n */\nconst LogFunc = Decorator.LogFunc;\n/**\n * 捕获异常\n */\nconst TryCatch = Decorator.TryCatch;\n/**\n * 监听属性变化\n * @调用on${propertyKey}Change方法\n */\nconst observable = Decorator.observable;\n/**\n * 设置属性不可变\n */\nconst immutable = Decorator.immutable;\n/**\n * 延迟执行\n * 通过属性delayTime设置延迟时间\n * 注释:不支持返回值\n * @与DelayCancel配合使用\n */\nconst Delay = Decorator.Delay;\n/**\n * 取消延迟执行\n * @与Delay配合使用\n */\nconst DelayCancel = Decorator.DelayCancel;\n/**\n * 延时执行,支持定义延时时间\n */\nconst DelayTime = Decorator.DelayTime;\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Decorator.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/GM.ts":
    /*!*************************!*\
      !*** ./src/Tools/GM.ts ***!
      \*************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// const GM: IGM = {\n//     GM_xmlhttpRequest,\n//     GM_notification,\n//     GM_getResourceURL,\n//     GM_openInTab,\n//     GM_setClipboard,\n//     GM_setValue,\n//     GM_getValue,\n//     GM_registerMenuCommand,\n//     GM_addStyle,\n// };\nconst WIN = window;\n// const GM: IGM = {\n//     GM_xmlhttpRequest: WIN.GM_xmlhttpRequest,\n//     GM_notification: WIN.GM_notification,\n//     GM_getResourceURL: WIN.GM_getResourceURL,\n//     GM_openInTab: WIN.GM_openInTab,\n//     GM_setClipboard: WIN.GM_setClipboard,\n//     GM_setValue: WIN.GM_setValue,\n//     GM_getValue: WIN.GM_getValue,\n//     GM_registerMenuCommand: WIN.GM_registerMenuCommand,\n//     GM_addStyle: WIN.GM_addStyle,\n// };\nclass GM {\n}\nGM.GM_xmlhttpRequest = WIN.GM_xmlhttpRequest;\nGM.GM_notification = WIN.GM_notification;\nGM.GM_getResourceURL = WIN.GM_getResourceURL;\nGM.GM_openInTab = WIN.GM_openInTab;\nGM.GM_setClipboard = WIN.GM_setClipboard;\nGM.GM_setValue = WIN.GM_setValue;\nGM.GM_getValue = WIN.GM_getValue;\nGM.GM_deleteValue = WIN.GM_deleteValue;\nGM.GM_registerMenuCommand = WIN.GM_registerMenuCommand;\nGM.GM_addStyle = WIN.GM_addStyle;\nGM.GM_download = WIN.GM_download;\nGM.GM_addValueChangeListener = WIN.GM_addValueChangeListener;\nconsole.log(\"GM\", WIN.GM_xmlhttpRequest, window, GM);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GM);\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/GM.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Logger.ts":
    /*!*****************************!*\
      !*** ./src/Tools/Logger.ts ***!
      \*****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LoggerStatic: () => (/* binding */ LoggerStatic),\n/* harmony export */   \"default\": () => (/* binding */ Logger)\n/* harmony export */ });\nconst getName = (that) => {\n    if (typeof that === \"string\")\n        return that;\n    let name = that.constructor.name;\n    // if (that.ai) {\n    //     name = name + \"-\" + that.ai.id;\n    // }\n    return name;\n};\n// const style = (bgColor: string = \"#56c4bc\", borderColor: string = \"#00b09b\") => {\n//     return `color:#fff;font-weight:bolder;font-size:10px;background:${bgColor};padding:1px 5px;border:2px solid ${borderColor};border-radius: 0 8px 0 8px;font-weight: bolder;`;\n// };\nconst style = (bgColor = \"#56c4bc\", borderColor = \"#00b09b\", color = \"#FFF\", fontSize = 12) => {\n    const padding = (20 - fontSize) / 2;\n    return `color:${color};font-weight:bolder;font-size:${fontSize}px;background:${bgColor};padding:${padding}px 10px;border:2px solid ${borderColor};border-radius: 0 8px 0 8px;`;\n};\nconst split = (bgColor = \"#00b09b\", color = \"#333\") => {\n    return `padding:4px 2px;font-size:12px;border:2px solid ${bgColor};color:${bgColor};background:none;border-left:none;border-right:none;`;\n};\nconst typeStyle = (color = \"#333\", borderColor = \"#00b09b\", borderRadius = \"0 8px 0 8px\") => {\n    return `color:${color};font-size:12px;background:none;padding:4px 4px;border:2px solid ${borderColor};border-radius: ${borderRadius};border-left:none;`;\n};\nvar LogType;\n(function (LogType) {\n    /** log */\n    LogType[LogType[\"Log\"] = 0] = \"Log\";\n    /** debug */\n    LogType[LogType[\"Debug\"] = 1] = \"Debug\";\n    /** warn */\n    LogType[LogType[\"Warn\"] = 2] = \"Warn\";\n    /** error */\n    LogType[LogType[\"Error\"] = 3] = \"Error\";\n})(LogType || (LogType = {}));\nconst Colors = {\n    [LogType.Log]: \"#3c55d1\",\n    [LogType.Debug]: \"#41ad99\",\n    [LogType.Warn]: \"#ff9645\",\n    [LogType.Error]: \"#fb3c04\",\n    string: \"#333\",\n    number: \"#2a9c9d\",\n    boolean: \"#d17542\",\n    undefined: \"#f26273\",\n};\nconst TransformArgs = (type, main, args) => {\n    const color = Colors[type];\n    const ret = [`%c${main}`, style(color, color)];\n    let last = 0;\n    let first = true;\n    for (let arg of args) {\n        if (last === -1) {\n            ret.push(arg);\n            continue;\n        }\n        const type = typeof arg;\n        switch (typeof arg) {\n            case \"string\":\n                arg = arg.trim();\n                if (arg.trim() === \"\")\n                    continue;\n                break;\n            case \"number\":\n                break;\n            case \"boolean\":\n                break;\n            case \"undefined\":\n                break;\n            default:\n                last = -1;\n                ret.push(arg);\n                continue;\n        }\n        //判断上一个是否为字符串\n        if (last >= 0) {\n            //修改上一个字符串的圆角配置\n            ret[ret.length - 1] = ret[ret.length - 1].replace(/border-radius: 0 8px 0 0/, \"border-radius: 0 0 0 0\");\n            ret[ret.length - 1] = ret[ret.length - 1].replace(/border-radius: 0 8px 0 8px/, \"border-radius: 0 0 0 8px\");\n            ret[ret.length - 1] = ret[ret.length - 1] += \"border-right:none;\";\n            //将字符串合并\n            if (!first) {\n                //优先添加分隔符\n                ret[last] = `${ret[last]}%c|`;\n                //添加样式\n                ret.push(split(color));\n            }\n            //优先添加分隔符\n            ret[last] = `${ret[last]}%c${arg}`;\n            //添加样式\n            ret.push(typeStyle(Colors[type], color, \"0 8px 0 0\"));\n            first = false;\n        }\n        else {\n            //添加到最后\n            last = ret.length;\n            ret.push(`%c${arg}`);\n            ret.push(typeStyle(Colors[type], color));\n            first = true;\n        }\n    }\n    return ret;\n};\nconst ConsoleLog = console.log;\nclass Logger {\n    static log(...args) {\n        ConsoleLog(...TransformArgs(LogType.Log, getName(this), args));\n    }\n    debug(...args) {\n        ConsoleLog(...TransformArgs(LogType.Debug, getName(this), args));\n    }\n    /**\n     * 日志\n     * @param args\n     */\n    log(...args) {\n        ConsoleLog(...TransformArgs(LogType.Log, getName(this), args));\n    }\n    /**\n     * 错误日志输出\n     * @param args\n     */\n    error(...args) {\n        console.log(...TransformArgs(LogType.Error, getName(this), args));\n    }\n    trace(...args) {\n        console.trace(...TransformArgs(LogType.Error, getName(this), args));\n    }\n    /**\n     *\n     * @param args\n     */\n    warn(...args) {\n        ConsoleLog(...TransformArgs(LogType.Warn, getName(this), args));\n    }\n}\nclass LoggerStatic {\n    /**\n     * create\n     */\n    static error(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[0] === \"1\")\n            new Logger().error.call(that, ...args);\n    }\n    static warning(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[1] === \"1\")\n            new Logger().warn.call(that, ...args);\n    }\n    static debug(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[2] === \"1\")\n            new Logger().debug.call(that, ...args);\n    }\n    static verbose(that, ...args) {\n        // style(\"#56c4bc\", \"#00b09b\")\n        if (LoggerStatic.ConsoleVersion[3] === \"1\")\n            new Logger().log.call(that, ...args);\n    }\n}\n/**\n * 开关控制\n */\nLoggerStatic.ConsoleVersion = \"1111\";\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Logger.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/QueryTool.ts":
    /*!********************************!*\
      !*** ./src/Tools/QueryTool.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ QueryTool)\n/* harmony export */ });\nclass QueryTool {\n    /**\n     * 支持 xpath 选择器\n     *\n     * xx/following-sibling :: *  后面的所有兄弟节点\n     * @param res\n     * @param selector\n     * @returns\n     */\n    static querySelector(res, selector) {\n        if (!res || !selector)\n            return;\n        if (selector.startsWith(\"//\")) {\n            return this.xpathToElement(res, selector);\n        }\n        return res.querySelector(selector);\n    }\n    /**\n     * 支持 xpath 选择器\n     * @param res\n     * @param selector\n     * @returns\n     */\n    static querySelectorAll(res, selector) {\n        if (selector.startsWith(\"//\")) {\n            return this.xpathToElements(res, selector);\n        }\n        return Array.from(res.querySelectorAll(selector));\n    }\n    static xpathToElement(res, xpath) {\n        if (res !== document)\n            xpath = xpath.replace(/\\/\\//, \"descendant::\");\n        const result = document.evaluate(xpath, res, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);\n        return result.singleNodeValue;\n    }\n    static xpathToElements(res, xpath) {\n        if (res !== document)\n            xpath = xpath.replace(/\\/\\//, \"descendant::\");\n        const result = document.evaluate(xpath, res, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);\n        const list = [];\n        for (let i = 0; i < result.snapshotLength; i++) {\n            list.push(result.snapshotItem(i));\n        }\n        return list;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/QueryTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Toast.ts":
    /*!****************************!*\
      !*** ./src/Tools/Toast.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ToastType: () => (/* binding */ ToastType),\n/* harmony export */   \"default\": () => (/* binding */ Toast)\n/* harmony export */ });\n/* harmony import */ var _DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar _a;\n\n\n\n(_a = _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_addStyle) === null || _a === void 0 ? void 0 : _a.call(_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `\r\nwie-toast{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    bottom: 20%;\r\n    right: 10px;\r\n    font-size: 14px;\r\n    color: var(--mainTextColor);\r\n    display: flex;\r\n    margin: 8px;\r\n    color: var(--color);\r\n    background-color: var(--bgColor);\r\n    border-radius: 6px;\r\n    box-shadow: inset 0 0 0 1px var(--borderColor),0 8px 24px rgba(140,149,159,0.2);\r\n    user-select: none;\r\n    animation: wie-toast-slide-top 0.3s ease-out;\r\n    transform: translate(50%, 0px);\r\n}\r\n\r\n\r\n@keyframes wie-toast-slide-top {\r\n    from {\r\n      transform: translate(50%, 60px);\r\n      opacity: 0;\r\n    }\r\n    to {\r\n      transform: translate(50%, 0px);\r\n      opacity: 1;\r\n    }\r\n}\r\n\r\nwie-toast .toast-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 48px;\r\n    flex-shrink: 0;\r\n    fill: var(--bgColor);\r\n    background-color: #0969da;\r\n    border: 1px solid rgba(0,0,0,0);\r\n    border-right: 0;\r\n    border-top-left-radius: inherit;\r\n    border-bottom-left-radius: inherit;\r\n}\r\nwie-toast .toast-icon.success {\r\n    background-color: #1f883d;\r\n}\r\nwie-toast .toast-icon.error {\r\n    background-color: #cf222e;\r\n}\r\nwie-toast .toast-icon.warning {\r\n    background-color: #9a6700;\r\n}\r\nwie-toast .toast-content {\r\n    padding: 16px;\r\n}\r\n`);\nvar ToastType;\n(function (ToastType) {\n    ToastType[\"Normal\"] = \"normal\";\n    ToastType[\"Success\"] = \"success\";\n    ToastType[\"Error\"] = \"error\";\n    ToastType[\"Warning\"] = \"warning\";\n})(ToastType || (ToastType = {}));\nconst Icons = {\n    /** 普通 */\n    [ToastType.Normal]: `<svg width=\"14\" height=\"16\" viewBox=\"0 0 14 16\" className=\"octicon octicon-info\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z\" />\r\n    </svg>`,\n    /** 成功 */\n    [ToastType.Success]: `<svg width=\"12\" height=\"16\" viewBox=\"0 0 12 16\" className=\"octicon octicon-check\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z\" />\r\n    </svg>`,\n    /** 错误 */\n    [ToastType.Error]: `<svg width=\"14\" height=\"16\" viewBox=\"0 0 14 16\" className=\"octicon octicon-stop\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M10 1H4L0 5v6l4 4h6l4-4V5l-4-4zm3 9.5L9.5 14h-5L1 10.5v-5L4.5 2h5L13 5.5v5zM6 4h2v5H6V4zm0 6h2v2H6v-2z\" />\r\n    </svg>`,\n    /** 警告 */\n    [ToastType.Warning]: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" className=\"octicon octicon-alert\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z\" />\r\n    </svg>`,\n};\nclass Toast {\n    /**  */\n    static show(text, type = ToastType.Normal, width = 200, delay = 1000) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //创建元素\n            const div = _DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(text, { parent: document.body, tag: \"wie-toast\" });\n            div.style.right = `${width / 2}px`;\n            div.innerHTML = `\r\n        <span class=\"toast-icon ${type}\">${Icons[type]}</span>\r\n        <span class=\"toast-content\">${text}</span>\r\n        `;\n            yield _Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].wait(delay);\n            div.remove();\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Toast.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Tool.ts":
    /*!***************************!*\
      !*** ./src/Tools/Tool.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Tool)\n/* harmony export */ });\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n/**\n * 工具\n */\nclass Tool {\n    static fetch(url, options = {}) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return yield (yield fetch(url, options)).json();\n        });\n    }\n    static json(url, data) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return this.request(url, data, \"GET\", { responseType: \"json\" });\n        });\n    }\n    /**\n     * 请求\n     * @param url\n     * @param data\n     * @param method\n     * @param options\n     * @returns\n     */\n    static request(url, data, method = \"GET\", options = {}) {\n        const { responseType, headers = {} } = options;\n        if (method === \"GET\") {\n            if (Object.prototype.toString.call(data) === \"[object Object]\") {\n                data = Object.keys(data)\n                    .map((key) => `${key}=${encodeURIComponent(data[key])}`)\n                    .join(\"&\");\n            }\n            options.responseType = responseType !== null && responseType !== void 0 ? responseType : \"document\";\n            if (data) {\n                let joiner = \"?\";\n                if (url.includes(joiner))\n                    joiner = /&$/.test(url) ? \"\" : \"&\";\n                url = `${url}${joiner}${data}`;\n            }\n        }\n        else if (method === \"POST\") {\n            options.responseType = responseType !== null && responseType !== void 0 ? responseType : \"json\";\n            options.headers = Object.assign({ \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\" }, headers);\n        }\n        return new Promise((resolve) => {\n            _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_xmlhttpRequest(Object.assign({ url,\n                data,\n                method, timeout: 30000, onload: (resp) => {\n                    let { status, response } = resp;\n                    if (status >= 400)\n                        response = false;\n                    if (response && [\"\", \"text\"].includes(options.responseType)) {\n                        if (/<\\/?[a-z][\\s\\S]*>/i.test(response)) {\n                            response = new DOMParser().parseFromString(response, \"text/html\");\n                        }\n                        else if (/^\\{.*\\}$/.test(response)) {\n                            response = JSON.parse(response);\n                        }\n                    }\n                    if (status === 302)\n                        return response(response === null || response === void 0 ? void 0 : response.location);\n                    resolve(response !== null && response !== void 0 ? response : true);\n                }, ontimeout: () => resolve(false), onerror: (e) => {\n                    // Logger.log(\"--error-\", e);\n                    resolve(false);\n                } }, options));\n        });\n    }\n    static check(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return !!(yield this.request(url, {}, \"HEAD\"));\n        });\n    }\n    /**\n     * 颜色变淡\n     * @param col\n     * @param opacity\n     * @returns\n     */\n    static lightenDarkenColor(col, opacity) {\n        //如果长度不为7,说明不是16进制颜色\n        // if (col.length !== 7) {\n        // }\n        //为颜色添加透明度\n        return col + opacity.toString(16);\n        // if (col.length === 7) {\n        //     col = col + \"00\";\n        // }\n        // //转换为16进制\n        // let num = parseInt(col, 16);\n        // //转换为rgb\n        // let r = (num >> 16) + amt;\n        // let b = ((num >> 8) & 0x00ff) + amt;\n        // let g = (num & 0x0000ff) + amt;\n        // //转换为16进制\n        // return \"#\" + (g | (b << 8) | (r << 16)).toString(16);\n        // let usePound = false;\n        // if (col[0] === \"#\") {\n        //     col = col.slice(1);\n        //     usePound = true;\n        // }\n        // let num = parseInt(col, 16);\n        // let r = (num >> 16) + amt;\n        // if (r > 255) r = 255;\n        // else if (r < 0) r = 0;\n        // let b = ((num >> 8) & 0x00ff) + amt;\n        // if (b > 255) b = 255;\n        // else if (b < 0) b = 0;\n        // let g = (num & 0x0000ff) + amt;\n        // if (g > 255) g = 255;\n        // else if (g < 0) g = 0;\n        // return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\n    }\n    static numberToTime(time) {\n        let second = Math.floor(time % 60) + \"\";\n        if (second.length === 1)\n            second = \"0\" + second;\n        let minute = Math.floor((time / 60) % 60) + \"\";\n        if (minute.length === 1)\n            minute = \"0\" + minute;\n        const hour = Math.floor(time / 3600);\n        if (hour === 0)\n            return `${minute}:${second}`;\n        if (minute === \"00\")\n            return `${second}`;\n        return `${hour}:${minute}:${second}`;\n    }\n    /**\n     * 处理url中的参数 {{}} 为真实参数\n     * @param url\n     * @param args\n     * @returns\n     */\n    static handleUrl(url, args) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!url)\n                return url;\n            const keys = (_a = url.match(/\\{{([\\s\\S]+)}\\}/g)) !== null && _a !== void 0 ? _a : [];\n            for (let key of keys) {\n                url = url.replace(key, args[key.replace(/{|}/g, \"\")]);\n            }\n            return url;\n        });\n    }\n    /**\n     * 判断是否为移动端\n     * @returns\n     */\n    static isMobile() {\n        let userAgentInfo = navigator.userAgent;\n        let mobileAgents = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"];\n        let mobile_flag = false;\n        //根据userAgent判断是否是手机\n        for (let v = 0; v < mobileAgents.length; v++) {\n            if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {\n                mobile_flag = true;\n                break;\n            }\n        }\n        let screen_width = window.screen.width;\n        let screen_height = window.screen.height;\n        //根据屏幕分辨率判断是否是手机\n        if (screen_width > 325 && screen_height < 750) {\n            mobile_flag = true;\n        }\n        return mobile_flag;\n    }\n    /**\n     * 校验地址有效性\n     * @param url\n     * @returns\n     */\n    static verification(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve) => {\n                _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_xmlhttpRequest({\n                    url,\n                    method: \"HEAD\",\n                    onload: ({ status, response }) => {\n                        resolve(status === 200);\n                    },\n                    ontimeout: () => resolve(false),\n                    onerror: () => resolve(false),\n                });\n            });\n        });\n    }\n    /**\n     * 随机生成字符串\n     * @param len\n     * @returns\n     */\n    static randomString(len) {\n        len = len || 32;\n        const $chars = \"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678\"; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/\n        const maxPos = $chars.length;\n        let pwd = \"\";\n        for (let i = 0; i < len; i++) {\n            let max = i === 0 ? maxPos - 10 : maxPos;\n            pwd += $chars.charAt(Math.floor(Math.random() * max));\n        }\n        return pwd;\n    }\n    /**\n     * 翻译\n     * @param text\n     * @returns\n     */\n    static translate(text) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            // const url = `https://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q=${encodeURIComponent(\n            // text\n            // )}`;\n            // return await Tool.request(url);\n            if (!text)\n                return text;\n            const res = yield Tool.request(\"https://translate.google.com.hk/translate_a/single?client=gtx&dt=t&dj=1&sl=auto&tl=zh-CN&hl=zh-CN&q=\" + encodeURIComponent(text), void 0, \"GET\", { responseType: \"json\" });\n            //如果失败,返回原文\n            if (!res || !((_a = res.sentences) === null || _a === void 0 ? void 0 : _a.length))\n                return text;\n            const sentences = res.sentences;\n            const trans = sentences.reduce((ret, value) => ret + value.trans, \"\");\n            return trans;\n        });\n    }\n    static download(url, name) {\n        _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_download(url, name);\n    }\n    static wait(time) {\n        return new Promise((resolve) => {\n            setTimeout(() => {\n                resolve(void 0);\n            }, time);\n        });\n    }\n    /**\n     * 发送通知\n     * @param message\n     * @param type\n     * @param timeout\n     * @param onclick\n     */\n    static notify(message, type = \"success\", timeout = 5000, onclick) {\n        _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_notification({\n            text: message,\n            image: _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_getResourceURL(type),\n            highlight: false,\n            silent: true,\n            timeout,\n            onclick,\n        });\n        // if (setTab) setTabBar({ type, title: details.title });\n    }\n    /**\n     * 打开新标签页\n     * @param url\n     * @param options\n     */\n    static openInTab(url, options) {\n        _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_openInTab(url, options);\n    }\n    static sizeToBytes(sizeStr = \"\") {\n        var _a, _b, _c, _d, _e;\n        const NUM_REGEX = /\\d+\\.?\\d*/g;\n        const sizeNum = (_b = (_a = sizeStr === null || sizeStr === void 0 ? void 0 : sizeStr.match(NUM_REGEX)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 0;\n        if (Number(sizeNum) <= 0)\n            return \"0\";\n        const matchList = [\n            { unit: /byte/gi, transform: (size) => size },\n            { unit: /kb/gi, transform: (size) => size * 1000 },\n            { unit: /mb/gi, transform: (size) => size * Math.pow(1000, 2) },\n            { unit: /gb/gi, transform: (size) => size * Math.pow(1000, 3) },\n            { unit: /kib/gi, transform: (size) => size * 1024 },\n            { unit: /mib/gi, transform: (size) => size * Math.pow(1024, 2) },\n            { unit: /gib/gi, transform: (size) => size * Math.pow(1024, 3) },\n        ];\n        return ((_e = (_d = (_c = matchList\n            .find(({ unit }) => unit.test(sizeStr))) === null || _c === void 0 ? void 0 : _c.transform(sizeNum)) === null || _d === void 0 ? void 0 : _d.toFixed(2)) !== null && _e !== void 0 ? _e : \"0\");\n    }\n    static getTime(time) {\n        const curTime = new Date().getTime();\n        //如果是刚刚,则直接返回\n        if (curTime - time < 1000)\n            return \"\";\n        let str = \"\";\n        if (curTime - time < 60 * 1000) {\n            str = \"刚刚一分钟内\";\n        }\n        else if (curTime - time < 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 60 / 1000)}分钟前`;\n        }\n        else if (curTime - time < 24 * 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 60 / 60 / 1000)}小时前`;\n        }\n        else if (curTime - time < 30 * 24 * 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 24 / 60 / 60 / 1000)}天前[${Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\")}]`;\n        }\n        else {\n            str = Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\");\n        }\n        return str;\n    }\n    static formatDuration(seconds) {\n        // 计算小时、分钟和剩余的秒数\n        let hours = Math.floor(seconds / 3600);\n        let minutes = Math.floor((seconds % 3600) / 60);\n        let remainingSeconds = Number((seconds % 60).toFixed(2));\n        // 格式化为时分秒字符串\n        let formattedDuration = \"\";\n        if (hours > 0) {\n            formattedDuration += hours + \"h\";\n        }\n        if (minutes > 0) {\n            formattedDuration += minutes + \"m\";\n        }\n        if (remainingSeconds > 0 || formattedDuration === \"\") {\n            formattedDuration += remainingSeconds + \"s\";\n        }\n        if (formattedDuration === \"0s\")\n            return \"\";\n        return formattedDuration;\n    }\n    static merge(setting = {}, newSetting = {}, create = false) {\n        if (create)\n            setting = JSON.parse(JSON.stringify(setting));\n        for (const key in newSetting) {\n            if (typeof newSetting[key] === \"object\" && Array.isArray(newSetting[key]) === false) {\n                if (newSetting[key] === null || newSetting[key] === undefined) {\n                    delete setting[key];\n                }\n                else {\n                    if (!setting[key])\n                        setting[key] = {};\n                    this.merge(setting[key], newSetting[key]);\n                }\n            }\n            else {\n                setting[key] = newSetting[key];\n            }\n        }\n        return setting;\n    }\n    // public static merge(setting: any, newSetting: { [key: string]: any }) {\n    //     for (const key in newSetting) {\n    //         const keys = key.split(\".\");\n    //         let obj = setting;\n    //         for (let i = 0; i < keys.length; i++) {\n    //             const k = keys[i];\n    //             if (i === keys.length - 1) {\n    //                 obj[k] = newSetting[key];\n    //             } else {\n    //                 if (!obj[k]) obj[k] = {};\n    //                 obj = obj[k];\n    //             }\n    //         }\n    //     }\n    // }\n    static format(time, fmt) {\n        const date = new Date(Number(time) < 10000000000 ? Number(time) * 1000 : Number(time)); //对于只有10位数的时间做*1000处理\n        const o = {\n            \"M+\": date.getMonth() + 1,\n            \"d+\": date.getDate(),\n            \"h+\": date.getHours(),\n            \"m+\": date.getMinutes(),\n            \"s+\": date.getSeconds(),\n            \"q+\": Math.floor((date.getMonth() + 3) / 3),\n            S: date.getMilliseconds(), //毫秒\n        };\n        const week = {\n            \"0\": \"日\",\n            \"1\": \"一\",\n            \"2\": \"二\",\n            \"3\": \"三\",\n            \"4\": \"四\",\n            \"5\": \"五\",\n            \"6\": \"六\",\n        };\n        if (/(y+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length));\n        }\n        if (/(E+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? \"星期\" : \"周\") : \"\") + week[date.getDay() + \"\"]);\n        }\n        for (const k in o) {\n            if (new RegExp(`(${k})`).test(fmt)) {\n                fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length));\n            }\n        }\n        return fmt;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Tool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/ToolValue.ts":
    /*!********************************!*\
      !*** ./src/Tools/ToolValue.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ ToolValue)\n/* harmony export */ });\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\n\nclass ToolValue {\n    constructor(key, defaultValue) {\n        this.key = key;\n        this.defaultValue = defaultValue;\n    }\n    /**\n     * 获取值\n     */\n    get value() {\n        return _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_getValue(this.key, this.defaultValue);\n    }\n    set value(value) {\n        _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_setValue(this.key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/ToolValue.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/UrlTool.ts":
    /*!******************************!*\
      !*** ./src/Tools/UrlTool.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UrlTool)\n/* harmony export */ });\n/* harmony import */ var _DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n/**\n * url工具类\n */\nclass UrlTool {\n    /**\n     * url匹配\n     * @param match\n     * @param url 默认为当前文件路径\n     * @returns\n     */\n    static match(match, url = window.location.href, title = _DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon) {\n        if (!Array.isArray(match))\n            match = [match];\n        for (const m of match) {\n            if (new RegExp(m).test(url))\n                return true;\n            else if (new RegExp(m).test(title))\n                return true;\n        }\n        return false;\n    }\n    /**\n     * 获取url参数\n     * @param key\n     * @returns\n     */\n    static getValue(key) {\n        var _a;\n        return (_a = location.href.match(new RegExp(`${key}=([\\\\s\\\\S]+)`))) === null || _a === void 0 ? void 0 : _a[1];\n    }\n    /**\n     * 检测获取可用地址\n     * @param urls\n     * @returns\n     */\n    static checkUrl(urls) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const list = yield Promise.allSettled(urls.map((item) => _Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(item, {}, \"HEAD\")));\n            for (let index = 0, { length } = list; index < length; index++) {\n                const { status, value } = list[index];\n                if (status !== \"fulfilled\" || !value)\n                    continue;\n                return urls[index];\n            }\n            return;\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/UrlTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/ValueUtils.ts":
    /*!*********************************!*\
      !*** ./src/Tools/ValueUtils.ts ***!
      \*********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction transJsonToObject(props) {\n    if (typeof props === \"string\" && (props.indexOf(\"[\") === 0 || props.indexOf(\"{\") === 0)) {\n        try {\n            props = JSON.parse(props);\n        }\n        catch (e) { }\n    }\n    return props;\n}\nconst ValueUtils = {\n    getValue(props, ename, trans) {\n        ename = ename + \"\";\n        if (typeof ename !== \"string\") {\n            return props;\n        }\n        const keys = ename.split(\".\");\n        keys.map((k) => {\n            if (k !== \"\") {\n                if (trans) {\n                    props = transJsonToObject((props || {})[k]);\n                }\n                else {\n                    props = transJsonToObject(props);\n                    // 如果k为负数,props为数组,则代表取数组的 length - |k|\n                    if (/^\\-[1-9][0-9]*$/.test(k) && Array.isArray(props)) {\n                        k = `${props.length + Number(k)}`;\n                    }\n                    props = (props || {})[k];\n                }\n            }\n        });\n        return props;\n    },\n    setValue(props, ename, value, merge = false) {\n        if (typeof ename !== \"string\")\n            return;\n        const keys = ename.split(\".\");\n        if (keys[keys.length - 1] === \"\") {\n            keys.pop();\n        }\n        const key = keys.pop() || \"\";\n        const lastKey = keys[keys.length - 1] || \"\";\n        const oldProps = props;\n        keys.map((k) => {\n            if (k !== \"\") {\n                if (!props[k])\n                    props[k] = {};\n                props = props[k];\n            }\n        });\n        if (value === undefined) {\n            if (Array.isArray(props)) {\n                //移除数组中index位置的元素\n                props.splice(Number(key), 1);\n                this.setValue(oldProps, keys.join(\".\"), props);\n            }\n            else\n                delete props[key];\n        }\n        else {\n            if (merge) {\n                if (Array.isArray(value)) {\n                    const old = props[key] || [];\n                    props[key] = [...old, ...value];\n                }\n                else if (typeof value === \"object\") {\n                    props[key] = Object.assign(Object.assign({}, props[key]), value);\n                }\n            }\n            else {\n                props[key] = value;\n            }\n        }\n        if (lastKey === \"style\") {\n            return Object.assign({}, props);\n        }\n        return props;\n    },\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValueUtils);\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/ValueUtils.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/CheckBoxUI.ts":
    /*!******************************!*\
      !*** ./src/UI/CheckBoxUI.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CheckBox)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass CheckBox extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.defaultCss = \"hh-line\";\n    }\n    renderFrom(value) {\n        return `<div class='input'><input class='checkbox ios-switch' id='${this.selector}' type='checkbox' ${!!value ? \"checked\" : \"\"} /></div>`;\n    }\n    bindInputEvent(input) {\n        input.addEventListener(\"change\", (e) => {\n            const value = input.checked;\n            this.onChange(value);\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/CheckBoxUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputColorUI.ts":
    /*!********************************!*\
      !*** ./src/UI/InputColorUI.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InputColorUI)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass InputColorUI extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.defaultCss = \"hh-line\";\n    }\n    // constructor(setting: InjectSetting | UI<any>, key: string, name: string, value: string | number | boolean, type: \"h-line\" | \"hh-line\" = \"hh-line\") {\n    //     super(setting, key, name, value, type);\n    // }\n    renderFrom(value, key, name) {\n        return `${super.renderFrom(value, key, name)}\r\n        <input class='color' type=\"color\" id='input-color-${this.id}' name=\"color\" value=\"${value}\">`;\n    }\n    bindEvent(div) {\n        super.bindEvent(div);\n        this.color = div.querySelector(`#input-color-${this.id}`);\n        this.color.addEventListener(\"change\", (e) => {\n            const value = this.color.value;\n            this.onChange(value);\n        });\n    }\n    onChange(value) {\n        // if(value && value.)\n        //TODO 进行颜色校验并格式化\n        // this.color.style.background = value as string;\n        this.color.value = value;\n        this.input.value = value;\n        super.onChange(value);\n    }\n    onUpdateValue(value) {\n        // super.onUpdateValue(value);\n        this.color.style.background = value;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputColorUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputHostUI.ts":
    /*!*******************************!*\
      !*** ./src/UI/InputHostUI.ts ***!
      \*******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nconst SVG = `<svg t=\"1680151087066\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7143\" width=\"20\" height=\"20\"><path d=\"M527.34 837.67l239.92-359.88c9.42-14.14 5.6-33.25-8.55-42.67a30.702 30.702 0 0 0-17.05-5.16H553.02V203.4c0-16.99-13.77-30.77-30.76-30.77-10.29 0-19.89 5.14-25.6 13.7L256.74 546.21c-9.42 14.14-5.6 33.24 8.54 42.67a30.744 30.744 0 0 0 17.06 5.17h188.64V820.6c0 16.99 13.77 30.77 30.76 30.77 10.29 0 19.9-5.14 25.6-13.7z\" p-id=\"7144\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _onSvgClick_decorators;\n    return _a = class InputHostUI extends _InputUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.defaultCss = (__runInitializers(this, _instanceExtraInitializers), \"hh-line\");\n            }\n            renderFrom(value, key, name) {\n                return `${super.renderFrom(value, key, name)}\r\n            <span class=\"host-item\">${SVG}</span>\r\n        `;\n            }\n            onSvgClick(svg) {\n                this.checkHost(svg);\n            }\n            checkHost(svg) {\n                return __awaiter(this, void 0, void 0, function* () {\n                    if (!svg)\n                        return;\n                    if (svg.classList.contains(\"checking\"))\n                        return;\n                    const url = svg.previousElementSibling.value;\n                    console.log(\"checkHost\", url, svg.previousElementSibling);\n                    if (!url)\n                        return;\n                    svg.classList.add(\"checking\");\n                    svg.classList.remove(\"success\");\n                    svg.classList.remove(\"error\");\n                    if (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].check(url)) {\n                        svg.classList.remove(\"checking\");\n                        svg.classList.add(\"success\");\n                    }\n                    else {\n                        svg.classList.remove(\"checking\");\n                        svg.classList.add(\"error\");\n                    }\n                });\n            }\n        },\n        (() => {\n            _onSvgClick_decorators = [(0,_Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__.bindEvent)(\"span.host-item\")];\n            __esDecorate(_a, null, _onSvgClick_decorators, { kind: \"method\", name: \"onSvgClick\", static: false, private: false, access: { has: obj => \"onSvgClick\" in obj, get: obj => obj.onSvgClick } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputHostUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputUI.ts":
    /*!***************************!*\
      !*** ./src/UI/InputUI.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InputUI)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Plugin/WPPopup/FormUI */ \"./src/Plugin/WPPopup/FormUI.ts\");\n\nclass InputUI extends _Plugin_WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    renderFrom(value, key, name) {\n        const valueType = typeof value === \"number\" ? \"number\" : \"\";\n        return `<input class='input' type='${valueType}' id='${this.selector}' key='${key}'  placeholder='请输入${name}' value=\"${value !== null && value !== void 0 ? value : \"\"}\"></input>`;\n    }\n    get selector() {\n        return `input-${this.id}`;\n    }\n    bindEvent(div) {\n        const input = (this.input = div.querySelector(`#${this.selector}`));\n        //触发更新\n        this.bindInputEvent(input);\n        input.addEventListener(\"focus\", (e) => {\n            input.parentElement.classList.add(\"w-focus\");\n        });\n        input.addEventListener(\"blur\", (e) => {\n            input.parentElement.classList.remove(\"w-focus\");\n        });\n    }\n    /**\n     * 绑定Input事件\n     * @param input\n     */\n    bindInputEvent(input) {\n        input.addEventListener(\"input\", (e) => {\n            const value = input.value;\n            this.onChange(value, input.getAttribute(\"key\"));\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/ListUI.ts":
    /*!**************************!*\
      !*** ./src/UI/ListUI.ts ***!
      \**************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Injects/CodeFind/SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Plugin_WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Plugin/WPPopup/FormUI */ \"./src/Plugin/WPPopup/FormUI.ts\");\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Tools/ValueUtils */ \"./src/Tools/ValueUtils.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _lib_decorator_bind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lib/decorator/bind */ \"./src/lib/decorator/bind.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_4__[\"default\"].add(`\r\n\r\nwie-list{\r\n    display:flex;\r\n    flex-direction:column;\r\n    width:100%;\r\n    box-sizing:border-box;\r\n    border: 1px solid var(--borderColor);\r\n}\r\n\r\nwie-list .title{\r\n    background: var(--bgLLColor);\r\n    color: var(--color);\r\n    border: 1px solid var(--borderColor);\r\n    border-radius: 4px 0 0 4px;\r\n    font-weight: 700;\r\n    font-size: 12px;\r\n    word-break: keep-all;\r\n    padding: 8px 10px;\r\n    vertical-align: top;\r\n    box-sizing: border-box;\r\n}\r\n\r\nwie-list-line{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    padding:5px;\r\n    box-sizing:border-box;\r\n    border-bottom:1px solid #ddd;\r\n}\r\n\r\nwie-list-line img{\r\n}\r\n\r\nwie-list-line img.delete{\r\n    width:20px;\r\n    height:20px;\r\n    cursor:pointer;\r\n}\r\n\r\nwie-list-line img.add{\r\n    width:100%;\r\n    height:20px;\r\n    cursor:pointer;\r\n}\r\n\r\nwie-list wie-input{\r\n    margin-bottom:0;\r\n}\r\nwie-list wie-btn.delete{\r\n    margin-top:5px;\r\n}\r\nwie-list wie-btn.add{\r\n    margin:5px 5px 5px 5px;\r\n    text-align:center;\r\n}\r\n\r\n`);\n// export interface IList extends IProps {\n//     /** 标题 */\n//     title: string;\n//     /** key */\n//     key: string;\n//     /** value */\n//     value?: any[];\n//     /** 表单项 */\n//     forms: IFormItem[];\n// }\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _onDeleteClick_decorators;\n    let _onAddClick_decorators;\n    let _onChange_decorators;\n    return _a = class ListUI extends _Plugin_WPPopup_FormUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n            constructor(key, cname, forms, value) {\n                super(key, cname, void 0, value);\n                this.forms = (__runInitializers(this, _instanceExtraInitializers), void 0);\n                this.forms = forms;\n            }\n            forValue(call) {\n                const { value = [] } = this;\n                return value.map(call);\n            }\n            template() {\n                const { cname, value = [] } = this;\n                return `<wie-list>\r\n                <div class=\"title\">${cname}</div>\r\n                ${this.forValue((v, index) => {\n                    return `<wie-list-line>${this.renderForms(v, index)}<wie-btn class='delete' index='${index}'>${_Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Delete}</wie-btn></wie-list-line>`;\n                }).join(\"\")}\r\n                <wie-btn class='add'>添加</wie-btn>\r\n            </wie-list>\r\n            `;\n            }\n            renderFrom(value) {\n                return \"\";\n            }\n            getFormUI(form, index, item) {\n                const key = `${index}.${form.key}`;\n                // this.log(\"getFormUI\", key, item, this.page, this, item[form.key]);\n                return this.page.ui(form.ui, key, form.label, \"h-line\", item[form.key], this.onChange);\n                // }\n                // return this.acts[key];\n            }\n            renderForms(item, index) {\n                // this.log(\"item--\", item, this.forms);\n                return this.forms.map((form) => this.getFormUI(form, index, item)).join(\"\");\n            }\n            onDeleteClick(target, index) {\n                this.value.splice(Number(index), 1);\n                this.onChange(this.value, this.ename);\n                this.refresh();\n            }\n            onAddClick() {\n                this.value = this.value || [];\n                this.value.push({});\n                this.refresh();\n                // this.onChange(this.props.key, this.props.value);\n            }\n            onChange(value, key) {\n                if (key === this.ename) {\n                    super.onChange(value, key);\n                }\n                else {\n                    _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].setValue(this.value, key, value);\n                    //通知更新\n                    this.onChange(this.value, this.ename);\n                }\n            }\n        },\n        (() => {\n            _onDeleteClick_decorators = [(0,_Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__.bindEvent)(\"wie-btn.delete\", \"index\")];\n            _onAddClick_decorators = [(0,_Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_2__.bindEvent)(\"wie-btn.add\")];\n            _onChange_decorators = [_lib_decorator_bind__WEBPACK_IMPORTED_MODULE_5__[\"default\"]];\n            __esDecorate(_a, null, _onDeleteClick_decorators, { kind: \"method\", name: \"onDeleteClick\", static: false, private: false, access: { has: obj => \"onDeleteClick\" in obj, get: obj => obj.onDeleteClick } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _onAddClick_decorators, { kind: \"method\", name: \"onAddClick\", static: false, private: false, access: { has: obj => \"onAddClick\" in obj, get: obj => obj.onAddClick } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _onChange_decorators, { kind: \"method\", name: \"onChange\", static: false, private: false, access: { has: obj => \"onChange\" in obj, get: obj => obj.onChange } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/UI/ListUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/RadioUI.ts":
    /*!***************************!*\
      !*** ./src/UI/RadioUI.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CodeClassRadioUI)\n/* harmony export */ });\n/* harmony import */ var _Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Injects/CodeFind/SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n.wie-radio{\r\n    display: flex;\r\n    background: var(--bgLightColor);\r\n    justify-content: stretch;\r\n}\r\n.wie-radio-item {\r\n    padding: 10px 15px;\r\n    line-height: 22px;\r\n    width: 100%;\r\n    text-align: center;\r\n    border-bottom: 2px solid transparent;\r\n    transition: all 300ms cubic-bezier(.45, 1, .4, 1);\r\n    vertical-align: middle;\r\n}\r\n\r\n.wie-radio-item.w-select{\r\n    border-bottom: 2px solid var(--mainColor);\r\n}\r\n\r\n.wie-radio-item.Text{\r\n    color:var(--mainColor);\r\n}\r\n\r\n`);\nclass CodeClassRadioUI extends _InputUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.defaultCss = \"hh-line\";\n    }\n    renderFrom(value) {\n        return `<div class='wie-radio'>\r\n            <div class='wie-radio-item' value=\"Block\">\r\n                <wie-code class='Block'>${_Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Code.replace(/128/g, \"12\")} XXX-123</wie-code>\r\n            </div>\r\n            <div class='wie-radio-item Text' value=\"Text\">\r\n                <wie-code class='Text'>${_Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Code.replace(/128/g, \"12\")}  XXX-123</wie-code>\r\n            </div>\r\n        </div>`;\n    }\n    bindEvent(view) {\n        const list = Array.from(view.querySelectorAll(\".wie-radio-item\"));\n        const { value = \"Block\" } = this;\n        for (let item of list) {\n            let v = item.getAttribute(\"value\");\n            if (v === value) {\n                item.classList.add(\"w-select\");\n                this.last = item;\n            }\n            item.addEventListener(\"click\", () => {\n                var _a;\n                (_a = this.last) === null || _a === void 0 ? void 0 : _a.classList.remove(\"w-select\");\n                item.classList.add(\"w-select\");\n                this.value = v;\n                this.last = item;\n                this.onChange(v);\n            });\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/RadioUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/TextareaUI.ts":
    /*!******************************!*\
      !*** ./src/UI/TextareaUI.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TextareaUI)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass TextareaUI extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    renderFrom(value, key, name) {\n        return `<textarea class='input' id='${this.selector}' rows=6 key=\"${key}\" placeholder='请输入${name}'>${value !== null && value !== void 0 ? value : \"\"}</textarea>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/TextareaUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UIDialog.ts":
    /*!****************************!*\
      !*** ./src/UI/UIDialog.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDialog)\n/* harmony export */ });\n// Config\nconst isOpenClass = \"modal-is-open\";\nconst openingClass = \"modal-is-opening\";\nconst closingClass = \"modal-is-closing\";\nclass UIDialog {\n    constructor(div) {\n        this.isShow = false;\n        this.animationDuration = 300;\n        this.open = () => {\n            //如果当前滚动条可见\n            if (this.isScrollbarVisible()) {\n                document.documentElement.style.setProperty(\"--scrollbar-width\", `${this.getScrollbarWidth()}px`);\n            }\n            document.documentElement.classList.add(isOpenClass, openingClass);\n            setTimeout(() => {\n                document.documentElement.classList.remove(openingClass);\n            }, this.animationDuration);\n            this.div.setAttribute(\"open\", true + \"\");\n        };\n        this.close = (call) => {\n            document.documentElement.classList.add(closingClass);\n            setTimeout(() => {\n                document.documentElement.classList.remove(closingClass, isOpenClass);\n                document.documentElement.style.removeProperty(\"--scrollbar-width\");\n                this.div.removeAttribute(\"open\");\n                call === null || call === void 0 ? void 0 : call();\n            }, this.animationDuration);\n        };\n        this.div = div;\n    }\n    isScrollbarVisible() {\n        return document.body.scrollHeight > screen.height;\n    }\n    isOpen() {\n        return this.div.hasAttribute(\"open\") && this.div.getAttribute(\"open\") != \"false\" ? true : false;\n    }\n    getScrollbarWidth() {\n        // Creating invisible container\n        const outer = document.createElement(\"div\");\n        outer.style.visibility = \"hidden\";\n        outer.style.overflow = \"scroll\"; // forcing scrollbar to appear\n        outer.style.msOverflowStyle = \"scrollbar\"; // needed for WinJS apps\n        document.body.appendChild(outer);\n        // Creating inner element and placing it in the container\n        const inner = document.createElement(\"div\");\n        outer.appendChild(inner);\n        // Calculating difference between container's full width and the child width\n        const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;\n        // Removing temporary elements from the DOM\n        outer.parentNode.removeChild(outer);\n        return scrollbarWidth;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UIDialog.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UILoading.ts":
    /*!*****************************!*\
      !*** ./src/UI/UILoading.ts ***!
      \*****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UILoading)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Plugin/WPPopup/UI */ \"./src/Plugin/WPPopup/UI.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n_WIEUIStyles__WEBPACK_IMPORTED_MODULE_1__[\"default\"].add(`\r\n/* 设置位置 */\r\n.wie-loading{\r\n    margin-top: 10px;\r\n    position: absolute;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    top: 0;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n    z-index: 1;\r\n    margin: 0;\r\n}\r\n\r\n.wie-loading.wie-area{\r\n    border: none;\r\n    box-shadow: none;\r\n}\r\n\r\n.wie-loading .name{\r\n    color: var(--mainColor);\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    text-align: center;\r\n    position: relative;\r\n}\r\n\r\n\r\n.wie-loading .wie-intro{\r\n    text-align: center;\r\n    width: 100%;\r\n    display: block;\r\n}\r\n\r\n\r\n.wie-loader {\r\n    position: relative;\r\n    width: 2.5em;\r\n    height: 2.5em;\r\n    transform: rotate(165deg);\r\n    margin:0 0 50px 0;\r\n   }\r\n\r\n   \r\n   .wie-loader:before, .wie-loader:after {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 50%;\r\n    left: 50%;\r\n    display: block;\r\n    width: 0.5em;\r\n    height: 0.5em;\r\n    border-radius: 0.25em;\r\n    transform: translate(-50%, -50%);\r\n   }\r\n   \r\n   .wie-loader:before {\r\n    animation: before8 2s infinite;\r\n   }\r\n   \r\n   .wie-loader:after {\r\n    animation: after6 2s infinite;\r\n   }\r\n   \r\n   @keyframes before8 {\r\n    0% {\r\n     width: 0.5em;\r\n     box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    35% {\r\n     width: 2.5em;\r\n     box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    70% {\r\n     width: 0.5em;\r\n     box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    100% {\r\n     box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   }\r\n   \r\n   @keyframes after6 {\r\n    0% {\r\n     height: 0.5em;\r\n     box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    35% {\r\n     height: 2.5em;\r\n     box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    70% {\r\n     height: 0.5em;\r\n     box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    100% {\r\n     box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   }\r\n   \r\n   .glitch {\r\n    position: relative;\r\n    font-size: 25px;\r\n    font-weight: 700;\r\n    line-height: 1.2;\r\n    color: #fff;\r\n    letter-spacing: 5px;\r\n    z-index: 1;\r\n    animation: shift 1s ease-in-out infinite alternate;\r\n  }\r\n  \r\n  .glitch:before,\r\n  .glitch:after {\r\n    display: block;\r\n    content: attr(data-glitch);\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    opacity: 0.8;\r\n  }\r\n  \r\n  .glitch:before {\r\n    animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;\r\n    color: #8b00ff;\r\n    z-index: -1;\r\n  }\r\n  \r\n  .glitch:after {\r\n    animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;\r\n    color: #00e571;\r\n    z-index: -2;\r\n  }\r\n  \r\n  @keyframes glitch {\r\n    0% {\r\n      transform: translate(0);\r\n    }\r\n  \r\n    20% {\r\n      transform: translate(-3px, 3px);\r\n    }\r\n  \r\n    40% {\r\n      transform: translate(-3px, -3px);\r\n    }\r\n  \r\n    60% {\r\n      transform: translate(3px, 3px);\r\n    }\r\n  \r\n    80% {\r\n      transform: translate(3px, -3px);\r\n    }\r\n  \r\n    to {\r\n      transform: translate(0);\r\n    }\r\n  }\r\n  \r\n  @keyframes shift {\r\n    0%, 40%, 44%, 58%, 61%, 65%, 69%, 73%, 100% {\r\n      transform: skewX(0deg);\r\n    }\r\n  \r\n    41% {\r\n      transform: skewX(10deg);\r\n    }\r\n  \r\n    42% {\r\n      transform: skewX(-10deg);\r\n    }\r\n  \r\n    59% {\r\n      transform: skewX(40deg) skewY(10deg);\r\n    }\r\n  \r\n    60% {\r\n      transform: skewX(-40deg) skewY(-10deg);\r\n    }\r\n  \r\n    63% {\r\n      transform: skewX(10deg) skewY(-5deg);\r\n    }\r\n  \r\n    70% {\r\n      transform: skewX(-50deg) skewY(-20deg);\r\n    }\r\n  \r\n    71% {\r\n      transform: skewX(10deg) skewY(-10deg);\r\n    }\r\n  }\r\n`);\n// @InjectPages.UI(PageAll, \"UILoading\", \"\", Style)\nclass UILoading extends _Plugin_WPPopup_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(text = \"番号[%d]查询中..\", ...must) {\n        super(\"finish\", ...(must.length === 0 ? [\"code\", \"loading\"] : must));\n        this.text = text;\n    }\n    isLoading(...values) {\n        //\n        // if (this.oneOf) return !values.some((v) => !!v);\n        //必须所有值都是true,才返回false\n        return values.every((v) => !!v);\n    }\n    template(finish = false, code, ...values) {\n        // if (code) des = `番号[${code}]查询中...`;\n        if (finish || this.isLoading(code, ...values))\n            return ``;\n        let des = this.text.replace(\"%d\", code);\n        return `<wie-area class='wie-loading'>\r\n            <div class='wie-loader'></div>\r\n            ${`<div data-glitch=\"${des}\" class=\"glitch name\">${des}</div>`}\r\n            </wie-area>`;\n        // ${text ? `<wie-intro >${code}</wie-intro>` : `<div data-glitch=\"${des}\" class=\"glitch name\">${des}</div>`}\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UILoading.ts?");
    
    /***/ }),
    
    /***/ "./src/WIE.ts":
    /*!********************!*\
      !*** ./src/WIE.ts ***!
      \********************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Engine_Engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/Engine/Engine */ \"./src/lib/Engine/Engine.tsx\");\n/* harmony import */ var _Plugin_WPTheme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Plugin/WPTheme */ \"./src/Plugin/WPTheme.ts\");\n/* harmony import */ var _Plugin_WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Plugin/WPSetting/WPSetting */ \"./src/Plugin/WPSetting/WPSetting.ts\");\n/* harmony import */ var _Plugin_WPOS__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Plugin/WPOS */ \"./src/Plugin/WPOS.ts\");\n/* harmony import */ var _Plugin_WPPopup_WPPopup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Plugin/WPPopup/WPPopup */ \"./src/Plugin/WPPopup/WPPopup.ts\");\n/* harmony import */ var _Plugin_WPInjects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Plugin/WPInjects */ \"./src/Plugin/WPInjects.ts\");\n/* harmony import */ var _Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Plugin/MPMonitor */ \"./src/Plugin/MPMonitor.ts\");\n/* harmony import */ var _Plugin_WPSettingPopup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Plugin/WPSettingPopup */ \"./src/Plugin/WPSettingPopup.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _CommonStyle__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CommonStyle */ \"./src/CommonStyle.ts\");\n/* harmony import */ var _Plugin_GlobalSetting__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Plugin/GlobalSetting */ \"./src/Plugin/GlobalSetting.ts\");\n/* harmony import */ var _Plugin_WPData__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Plugin/WPData */ \"./src/Plugin/WPData.ts\");\n/* harmony import */ var _Plugin_WPFixed_WPFixed__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Plugin/WPFixed/WPFixed */ \"./src/Plugin/WPFixed/WPFixed.ts\");\n/* harmony import */ var _Tools_Toast__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Tools/Toast */ \"./src/Tools/Toast.ts\");\n/* harmony import */ var _WIEUIStyles__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./WIEUIStyles */ \"./src/WIEUIStyles.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 网页注入引擎 web inject engine\n */\nclass WIE extends _lib_Engine_Engine__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Name = \"WIE\";\n        this.GM = _Tools_GM__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n        /**全局设置 */\n        this.set = new _Plugin_GlobalSetting__WEBPACK_IMPORTED_MODULE_10__[\"default\"]();\n    }\n    /**\n     * 实例\n     * @returns\n     */\n    static get Instance() {\n        if (!this.instance) {\n            this.instance = new WIE().init(this.Injects);\n            //进行emby检查\n            this.log(\"初始化完成\", this.instance);\n        }\n        return this.instance;\n    }\n    /**\n     * 全局设置\n     */\n    get setting() {\n        return this.set.setting;\n    }\n    /**\n     * 更新全局设置\n     */\n    updateSetting(setting) {\n        this.plugin(_Plugin_WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).update(this.set, setting);\n    }\n    init(injects) {\n        const wpset = this.addPlugin(_Plugin_WPSetting_WPSetting__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n        //绑定全局设置\n        wpset.bind(this.set);\n        this.addStyle(_CommonStyle__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n        this.addStyle(Array.from(_WIEUIStyles__WEBPACK_IMPORTED_MODULE_14__[\"default\"].values()).join(\"\\n\"));\n        this.addPlugin(_Plugin_WPData__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n        this.addPlugin(_Plugin_WPOS__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n        this.addPlugin(_Plugin_WPTheme__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n        this.addPlugin(_Plugin_WPFixed_WPFixed__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\n        this.addPlugin(_Plugin_WPPopup_WPPopup__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n        this.addPlugin(_Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n        const its = this.addPlugin(_Plugin_WPInjects__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n        for (const inject of injects) {\n            this.addPlugin(inject);\n        }\n        its.start();\n        this.addPlugin(_Plugin_WPSettingPopup__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n        return this;\n    }\n    addStyle(style) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_8__[\"default\"].GM_addStyle(style);\n    }\n    get isMobile() {\n        return this.plugin(_Plugin_WPOS__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isMobile;\n    }\n    static Toast(tip, type = _Tools_Toast__WEBPACK_IMPORTED_MODULE_13__.ToastType.Success) {\n        _Tools_Toast__WEBPACK_IMPORTED_MODULE_13__[\"default\"].show(tip, type, this.Instance.setting.Width);\n    }\n    /**\n     * 复制\n     * @param text\n     * @param tip\n     */\n    static copy(text, tip, type = _Tools_Toast__WEBPACK_IMPORTED_MODULE_13__.ToastType.Success) {\n        //复制内容\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_8__[\"default\"].GM_setClipboard(text);\n        //提示\n        if (tip)\n            this.Toast(tip, type);\n    }\n}\n/**\n * 版本号\n */\nWIE.VERSION = \"2.0.2\";\nWIE.Injects = [];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WIE);\n\n\n//# sourceURL=webpack://empty-project/./src/WIE.ts?");
    
    /***/ }),
    
    /***/ "./src/WIEUIStyles.ts":
    /*!****************************!*\
      !*** ./src/WIEUIStyles.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst WIEUIStyles = new Set();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WIEUIStyles);\n\n\n//# sourceURL=webpack://empty-project/./src/WIEUIStyles.ts?");
    
    /***/ }),
    
    /***/ "./src/index.publish.ts":
    /*!******************************!*\
      !*** ./src/index.publish.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Injects_CodeFind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Injects/CodeFind */ \"./src/Injects/CodeFind/index.ts\");\n/* harmony import */ var _Injects_Emby_EmbyDetail__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Injects/Emby/EmbyDetail */ \"./src/Injects/Emby/EmbyDetail.ts\");\n/* harmony import */ var _Injects_Emby_EmbySelect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Injects/Emby/EmbySelect */ \"./src/Injects/Emby/EmbySelect.ts\");\n/* harmony import */ var _Injects_Highlight__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Injects/Highlight */ \"./src/Injects/Highlight/index.ts\");\n/* harmony import */ var _Injects_M3U8__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Injects/M3U8 */ \"./src/Injects/M3U8/index.ts\");\n/* harmony import */ var _Injects_Magnet__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Injects/Magnet */ \"./src/Injects/Magnet/index.ts\");\n/* harmony import */ var _Injects_Search__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Injects/Search */ \"./src/Injects/Search/index.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./WIE */ \"./src/WIE.ts\");\n\n\n\n\n\n\n\n\n\n\nwindow.WIE = _WIE__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\nwindow.Tool = _Tools_Tool__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n_WIE__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Injects = [_Injects_CodeFind__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _Injects_Search__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _Injects_Highlight__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _Injects_M3U8__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _Injects_Magnet__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _Injects_Emby_EmbySelect__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _Injects_Emby_EmbyDetail__WEBPACK_IMPORTED_MODULE_1__[\"default\"]];\n//work模式下不启动注入\nif (location.host.indexOf(\".work\") < 1) {\n    /** 启动注入 */\n    if (_Tools_GM__WEBPACK_IMPORTED_MODULE_7__[\"default\"].GM_addStyle)\n        _WIE__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Instance;\n}\n\n\n//# sourceURL=webpack://empty-project/./src/index.publish.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Engine/Engine.tsx":
    /*!***********************************!*\
      !*** ./src/lib/Engine/Engine.tsx ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Listener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Listener */ \"./src/lib/Engine/Listener.ts\");\n\n\n/**\n * 插件引擎\n */\nclass Engine extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super();\n        /** 实例化插件 */\n        this.plugins = {};\n        //实例化监听器\n        this.listener = this.addPlugin(_Listener__WEBPACK_IMPORTED_MODULE_1__[\"default\"], ...[]);\n    }\n    /**\n     * 添加插件\n     * @param plugin\n     */\n    addPlugin(plugin, ...args) {\n        //转换为插件类\n        const PluginCls = plugin;\n        //实例化插件\n        const ins = new PluginCls(this);\n        //初始化插件\n        ins.initialize(...args);\n        //添加插件\n        this.plugins[PluginCls.name] = ins;\n        return ins;\n    }\n    /**\n     * 获取插件\n     * @param plugin\n     * @returns\n     */\n    plugin(plugin) {\n        //转换为插件类\n        const PluginCls = plugin;\n        //获取插件\n        const name = typeof plugin === \"string\" ? plugin : PluginCls.name;\n        const ins = this.plugins[name];\n        if (!ins)\n            this.warn(`插件${name}未注册`);\n        return ins;\n    }\n    /**\n     * 监听器\n     * @param type\n     * @param callback\n     * @returns 取消监听函数\n     */\n    on(plugin, type, callback) {\n        return this.listener._on(`${plugin.name}_${type.toString()}`, callback);\n    }\n    /**\n     * 监听一次\n     * @param type\n     * @param callback\n     */\n    once(plugin, type, callback) {\n        //判断plugin类型\n        return this.listener._once(`${plugin.name}_${type.toString()}`, callback);\n    }\n    fire(plugin, type, ...args) {\n        //判断plugin类型\n        return this.listener._fire(`${plugin.name}_${type.toString()}`, ...args);\n    }\n    update() { }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Engine/Engine.tsx?");
    
    /***/ }),
    
    /***/ "./src/lib/Engine/Listener.ts":
    /*!************************************!*\
      !*** ./src/lib/Engine/Listener.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Plugin */ \"./src/lib/Engine/Plugin.ts\");\n\n/**\n * 消息监听器,进行数据中转\n */\nclass Listener extends _Plugin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 监听器 */\n        this.listeners = {};\n    }\n    /**\n     * 注册监听\n     */\n    _on(key, listener) {\n        //判断listener是否为空\n        if (!listener) {\n            this.error(`监听器为空`, key, listener);\n            return () => { };\n        }\n        if (!this.listeners[key])\n            this.listeners[key] = [];\n        this.listeners[key].push(listener);\n        return this._off.bind(this, key, listener);\n    }\n    /**\n     * 监听一次,触发一次后,自动销毁监听器\n     * @param key '\n     * @param listener\n     */\n    _once(key, listener) {\n        //判断listener是否为空\n        if (!listener) {\n            this.error(`监听器为空`, key, listener);\n            return () => { };\n        }\n        const off = this._on(key, (...args) => {\n            //调用方法\n            listener(...args);\n            //销毁监听\n            off();\n        });\n        return off;\n    }\n    /**\n     * 移除监听\n     * @param key\n     * @param listener\n     */\n    _off(key, listener) {\n        // this.log(`注册监听[${key}]`, this.listeners[key], this.ai);\n        const listeners = this.listeners[key];\n        for (let i = 0; i < listeners.length; i++) {\n            if (listeners[i] === listener) {\n                listeners.splice(i, 1);\n                break;\n            }\n        }\n    }\n    /**\n     * 触发监听\n     * @param event\n     * @param value\n     * @returns\n     */\n    _fire(event, ...value) {\n        var _a;\n        const listeners = (_a = this.listeners[event]) !== null && _a !== void 0 ? _a : [];\n        for (let listener of listeners) {\n            listener(...value);\n        }\n    }\n}\nListener.Name = \"Listener\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Listener);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Engine/Listener.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Engine/Plugin.ts":
    /*!**********************************!*\
      !*** ./src/lib/Engine/Plugin.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Plugin)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n\nclass Plugin extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /**\n     * 获取引擎\n     */\n    get engine() {\n        return this._engine;\n    }\n    constructor(engine) {\n        super();\n        this._engine = engine;\n    }\n    /**\n     * 初始化函数\n     * @param args\n     */\n    initialize(...args) {\n        var _a;\n        //调用注入函数\n        (_a = this.injectFuncs) === null || _a === void 0 ? void 0 : _a.forEach((func) => func.call(this));\n        //初始化\n        this.onLoad(...args);\n    }\n    /**\n     * 初始化函数 生命周期方法\n     * @param args\n     */\n    onLoad(...args) { }\n    /**\n     * 监听器\n     * @param type\n     * @param callback\n     * @returns 取消监听函数\n     */\n    on(plugin, type, callback) {\n        //判断plugin类型\n        let Plg = plugin;\n        if (typeof plugin === \"string\") {\n            callback = type;\n            type = plugin;\n            Plg = this.constructor;\n        }\n        return this.engine.listener._on(`${Plg.name}_${type}`, callback);\n    }\n    /**\n     * 监听一次\n     * @param type\n     * @param callback\n     */\n    once(plugin, type, callback) {\n        //判断plugin类型\n        let Plg = plugin;\n        //判断plugin类型\n        if (typeof plugin === \"string\") {\n            callback = type;\n            type = plugin;\n            Plg = this.constructor;\n        }\n        return this.engine.listener._once(`${Plugin.name}_${type}`, callback);\n    }\n    /**\n     * 触发\n     * @param values\n     */\n    fire(plugin, ...values) {\n        //判断plugin类型\n        let Plg = plugin;\n        let type = values.shift();\n        if (typeof plugin === \"string\") {\n            values.unshift(type);\n            type = plugin;\n            Plg = this.constructor;\n        }\n        this.engine.listener._fire(`${Plg.name}_${type}`, ...values);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Engine/Plugin.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Engine/bindPlugin.ts":
    /*!**************************************!*\
      !*** ./src/lib/Engine/bindPlugin.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _decorator_createAccessor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../decorator/createAccessor */ \"./src/lib/decorator/createAccessor.ts\");\n\n/**\n * 绑定插件\n * @param plugin\n * @returns\n */\nconst bindPlugin = (plugin) => {\n    return (0,_decorator_createAccessor__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n        get: function (context) {\n            return this.engine.plugin(plugin);\n        },\n    });\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bindPlugin);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Engine/bindPlugin.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/MatchBean.ts":
    /*!******************************!*\
      !*** ./src/lib/MatchBean.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MatchBean)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Tools/GM */ \"./src/Tools/GM.ts\");\n\n\n\nclass MatchBean extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor(inject) {\n        var _a, _b;\n        super();\n        this.inject = inject;\n        // const setting = inject.setting;\n        //判断当前网站是否为top网站\n        if (window.parent === window) {\n            if (((_a = this.match) === null || _a === void 0 ? void 0 : _a.indexOf(window.location.host)) >= 0 || ((_b = this.match) === null || _b === void 0 ? void 0 : _b.indexOf(_Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon)) >= 0)\n                //移除菜单按钮\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_2__[\"default\"].GM_registerMenuCommand(`关闭【${inject.CName}】功能`, this.removeSite.bind(this));\n            //添加菜单按钮\n            else\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_2__[\"default\"].GM_registerMenuCommand(`开启【${inject.CName}】功能`, this.addSite.bind(this));\n        }\n        inject.getMatch = this.getMatch.bind(this);\n    }\n    get match() {\n        var _a;\n        return (_a = this.inject.setting.Match) !== null && _a !== void 0 ? _a : [];\n    }\n    getMatch() {\n        var _a;\n        return (_a = this.match) === null || _a === void 0 ? void 0 : _a.map((match) => new RegExp(match));\n    }\n    addSite() {\n        var _a;\n        const host = window.location.host;\n        const inject = this.inject;\n        const matches = new Set((_a = inject.setting.Match) !== null && _a !== void 0 ? _a : []);\n        //添加域名作为匹配\n        matches.add(host);\n        //添加icon进行匹配\n        const icon = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon;\n        icon && matches.add(icon);\n        inject.setting.Match = Array.from(matches);\n        inject.updateSetting();\n        this.log(\" addSite\", host, inject.setting);\n        window.location.reload();\n    }\n    removeSite() {\n        var _a;\n        const host = window.location.host;\n        const inject = this.inject;\n        const matches = new Set((_a = inject.setting.Match) !== null && _a !== void 0 ? _a : []);\n        //移除域名作为匹配\n        matches.delete(host);\n        //移除icon进行匹配\n        const icon = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon;\n        icon && matches.delete(icon);\n        inject.setting.Match = Array.from(matches);\n        inject.updateSetting();\n        this.log(\" removeSite\", host, inject.setting);\n        window.location.reload();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/MatchBean.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/UIDrag.ts":
    /*!***************************!*\
      !*** ./src/lib/UIDrag.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDrag)\n/* harmony export */ });\n// import InteractJs from \"interactjs\";\nconst InteractJs = window.interact;\nclass UIDrag {\n    constructor(div, finish) {\n        this.timer = 0;\n        this.finishTimer = 0;\n        this.div = div;\n        this.finish = finish;\n        // this.div.addEventListener(\"mousedown\", this.mouseDown.bind(this));\n        InteractJs(this.div).resizable({\n            edges: { left: true, right: false },\n            listeners: {\n                move: (e) => {\n                    let { x, y } = e.target.dataset;\n                    x = (parseFloat(x) || 0) + e.deltaRect.left;\n                    y = (parseFloat(y) || 0) + e.deltaRect.top;\n                    this.changeSize(e);\n                },\n            },\n        });\n    }\n    changeSize(e) {\n        //限流\n        if (this.timer)\n            return;\n        this.timer = setTimeout(() => {\n            this.timer = 0;\n            Object.assign(e.target.style, {\n                width: `${e.rect.width}px`,\n                height: `${e.rect.height}px`,\n                // transform: `translate(${x}px, ${y}px)`,\n            });\n        }, 100);\n        this.goFinish();\n    }\n    goFinish() {\n        //防抖\n        if (this.finishTimer)\n            clearTimeout(this.finishTimer);\n        this.finishTimer = setTimeout(() => {\n            this.finish();\n        }, 300);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/UIDrag.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/MSE.ts":
    /*!****************************!*\
      !*** ./src/lib/WSE/MSE.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MSE)\n/* harmony export */ });\n/* harmony import */ var _Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Plugin/MPMonitor */ \"./src/Plugin/MPMonitor.ts\");\n/* harmony import */ var _Plugin_WPData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Plugin/WPData */ \"./src/Plugin/WPData.ts\");\n/* harmony import */ var _Engine_Engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Engine/Engine */ \"./src/lib/Engine/Engine.tsx\");\n/* harmony import */ var _plugin_MPFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./plugin/MPFind */ \"./src/lib/WSE/plugin/MPFind.ts\");\n/* harmony import */ var _plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./plugin/MPSyncs */ \"./src/lib/WSE/plugin/MPSyncs.ts\");\n\n\n\n\n\n/**\n * Web搜索引擎\n */\nclass MSE extends _Engine_Engine__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    /**\n     * 初始化参数\n     * @param props\n     * @returns\n     */\n    init(props, hosts = []) {\n        this.addPlugin(_Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n        this.addPlugin(_Plugin_WPData__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n        this.addPlugin(_plugin_MPSyncs__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n        this.addPlugin(_plugin_MPFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"], props, hosts);\n        return this;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/MSE.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/interfaces/SyncBean.ts":
    /*!********************************************!*\
      !*** ./src/lib/WSE/interfaces/SyncBean.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Sync)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n\nclass Sync extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /**\n     * 检测是否进行数据处理\n     */\n    get query() {\n        if (this._query)\n            return this._query;\n        this._query = this.execFunc();\n        return this._query;\n    }\n    /**\n     *\n     * @param start\n     * @param info\n     * @param res\n     */\n    execFunc(start = \"sync\") {\n        const keys = this.getMethods(this, start);\n        const ret = {};\n        for (let key of keys) {\n            //获取值\n            const func = this[key];\n            if (!func)\n                continue;\n            key = key.replace(start, \"\");\n            //将字符串第一个字符小写\n            key = key[0].toLowerCase() + key.slice(1);\n            ret[key] = func;\n        }\n        return ret;\n    }\n    // /**\n    //  * 获取keys\n    //  * @param obj\n    //  * @returns\n    //  */\n    // protected getKeys(start: string = \"sync\", obj: any = this) {\n    //     if (!obj.__proto__ || obj.constructor.name === \"Logger\") return [];\n    //     let keys = Object.getOwnPropertyNames(obj).filter((item) => item.startsWith(start)) as any;\n    //     keys = keys.concat(this.getKeys(start, obj.__proto__));\n    //     return keys;\n    // }\n    getMethods(obj, start = \"sync\") {\n        let methods = [];\n        // 获取对象自身的方法名\n        let ownMethods = Object.getOwnPropertyNames(obj);\n        for (let method of ownMethods) {\n            if (method.startsWith(start))\n                methods.push(method);\n        }\n        // 获取对象原型(父类)对象\n        let proto = Object.getPrototypeOf(obj);\n        // 如果存在原型对象,则递归调用该函数获取原型链上的方法名\n        if (proto !== null)\n            methods = [...methods, ...this.getMethods(proto, start)];\n        return methods;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/interfaces/SyncBean.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/plugin/MPFind.ts":
    /*!**************************************!*\
      !*** ./src/lib/WSE/plugin/MPFind.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/MPMonitor */ \"./src/Plugin/MPMonitor.ts\");\n/* harmony import */ var _Plugin_WPData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Plugin/WPData */ \"./src/Plugin/WPData.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Engine_Plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n/* harmony import */ var _Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\n/* harmony import */ var _decorator_bind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../decorator/bind */ \"./src/lib/decorator/bind.ts\");\n/* harmony import */ var _tools_Pool__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../tools/Pool */ \"./src/lib/WSE/tools/Pool.ts\");\n/* harmony import */ var _MPSync__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MPSync */ \"./src/lib/WSE/plugin/MPSync.ts\");\n/* harmony import */ var _MPSyncs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./MPSyncs */ \"./src/lib/WSE/plugin/MPSyncs.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _MPFind_data_accessor_storage, _MPFind_syncs_accessor_storage, _MPFind_monitor_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _data_decorators;\n    let _data_initializers = [];\n    let _syncs_decorators;\n    let _syncs_initializers = [];\n    let _monitor_decorators;\n    let _monitor_initializers = [];\n    let _finish_decorators;\n    return _a = class MPFind extends _Engine_Plugin__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 属性 */\n                this.props = (__runInitializers(this, _instanceExtraInitializers), void 0);\n                _MPFind_data_accessor_storage.set(this, __runInitializers(this, _data_initializers, void 0));\n                _MPFind_syncs_accessor_storage.set(this, __runInitializers(this, _syncs_initializers, void 0));\n                _MPFind_monitor_accessor_storage.set(this, __runInitializers(this, _monitor_initializers, void 0));\n                this.hosts = {};\n                //     /**\n                //      * 开始同步器查找\n                //      */\n                //     async start<T>() {\n                //         //重置同步器状态\n                //         this.syncs.reset();\n                //         const movie = this.data.data;\n                //         //存储movie\n                //         this.data.init(movie);\n                //         // this.message.main = `影片[${movie.code}]检索进度:0% `;\n                //         const { starts = [], syncs = [], lists = {} } = this.props;\n                //         this.syncs.addSync(...starts);\n                //         this.syncs.addSync(...syncs);\n                //         // //创建同步器\n                //         this.pool = new Pool(syncs, 10);\n                //         for (const key in lists) {\n                //             lists[key].forEach((sync) => (sync.list = key));\n                //             this.syncs.addSync(...lists[key]);\n                //             this.pool.add(...lists[key]);\n                //         }\n                //         //启动开始同步器,只需要成功一个即可返回\n                //         for (let i = 0; i < starts.length; i++) {\n                //             const sync = starts[i];\n                //             // this.message.des = `开始同步器[${sync.name}]`;\n                //             const ret = await this.sync.start(sync, true);\n                //             if (ret) {\n                //                 this.data.update({ loading: false });\n                //                 break;\n                //             }\n                //         }\n                //         // 监听并启动;\n                //         this.pool.start((sync) => this.sync.start(sync));\n                //     }\n            }\n            /** 当前信息 */\n            get data() { return __classPrivateFieldGet(this, _MPFind_data_accessor_storage, \"f\"); }\n            set data(value) { __classPrivateFieldSet(this, _MPFind_data_accessor_storage, value, \"f\"); }\n            get syncs() { return __classPrivateFieldGet(this, _MPFind_syncs_accessor_storage, \"f\"); }\n            set syncs(value) { __classPrivateFieldSet(this, _MPFind_syncs_accessor_storage, value, \"f\"); }\n            get monitor() { return __classPrivateFieldGet(this, _MPFind_monitor_accessor_storage, \"f\"); }\n            set monitor(value) { __classPrivateFieldSet(this, _MPFind_monitor_accessor_storage, value, \"f\"); }\n            onLoad(props = {}, host = []) {\n                this.props = props;\n                if (props.update)\n                    this.data.setHandle(props.update);\n                this.toHost(host);\n                //创建同步器\n                this.pool = new _tools_Pool__WEBPACK_IMPORTED_MODULE_6__[\"default\"]([], 10, (sync) => new _MPSync__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this.syncs, this.data, sync, void 0, this.hosts).start()).finish(this.finish);\n            }\n            finish() {\n                this.data.update({ finish: true });\n            }\n            toHost(host = []) {\n                this.hosts = { Emby: _WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.setting.Emby.host };\n                for (let it of host) {\n                    if (it.value && it.key)\n                        this.hosts[it.key] = it.value;\n                }\n            }\n            start() {\n                return __awaiter(this, void 0, void 0, function* () {\n                    //重置同步器状态\n                    this.syncs.reset();\n                    const movie = this.data.data;\n                    //存储movie\n                    this.data.init(movie);\n                    // this.message.main = `影片[${movie.code}]检索进度:0% `;\n                    const { syncs = [], lists = {} } = this.props;\n                    // this.syncs.addSync(...syncs);\n                    //处理所有同步器\n                    for (let sync of syncs)\n                        this.handleOne(sync);\n                    //处理列表同步器\n                    for (const key in lists) {\n                        lists[key].forEach((sync) => {\n                            sync.list = key;\n                            this.handleOne(sync);\n                        });\n                        // this.syncs.addSync(...lists[key]);\n                        // this.pool.add(...lists[key]);\n                    }\n                    //启动开始同步器,只需要成功一个即可返回\n                    // for (let i = 0; i < starts.length; i++) {\n                    //     const sync = starts[i];\n                    //     // this.message.des = `开始同步器[${sync.name}]`;\n                    //     const ret = await this.sync.start(sync, true);\n                    //     if (ret) {\n                    //         this.data.update({ loading: false });\n                    //         break;\n                    //     }\n                    // }\n                    // // 监听并启动;\n                    // this.pool.start((sync) => this.sync.start(sync));\n                });\n            }\n            handleOne(sync) {\n                //判断是否有监听\n                const data = this.data.data;\n                if ((sync.codeCheck === true && /^FC2-/.test(data.code)) || (sync.codeCheck === false && !/^FC2-/.test(data.code))) {\n                    return;\n                }\n                //判断是否有监听\n                if (sync.listen) {\n                    const sub = this.monitor.add((value) => {\n                        //取消监听\n                        sub();\n                        //放入线程池\n                        this.addSync(sync, data);\n                    }, sync.listen);\n                }\n                //直接入线程池\n                else\n                    this.addSync(sync, data);\n            }\n            addSync(sync, data) {\n                //支持for处理\n                if (sync.for) {\n                    const [from, key] = sync.for;\n                    let list = data[from];\n                    if (typeof list === \"object\") {\n                        //如果为列表\n                        if (Array.isArray(list))\n                            for (let item of list)\n                                this.forAddSync(item, key, sync);\n                        else\n                            for (let k in list)\n                                this.forAddSync(list[k], key, sync);\n                        return;\n                    }\n                    return;\n                }\n                //添加到同步器池\n                this.syncs.addSync(sync);\n                this.pool.add(sync);\n            }\n            forAddSync(item, key, sync) {\n                if (!item[key])\n                    return;\n                //添加到管理\n                //添加到同步器池\n                sync = Object.assign(Object.assign({}, sync), { name: `${sync.name}_${item[key]}`, forData: item });\n                this.syncs.addSync(sync);\n                this.pool.add(sync);\n            }\n        },\n        _MPFind_data_accessor_storage = new WeakMap(),\n        _MPFind_syncs_accessor_storage = new WeakMap(),\n        _MPFind_monitor_accessor_storage = new WeakMap(),\n        (() => {\n            _data_decorators = [(0,_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_Plugin_WPData__WEBPACK_IMPORTED_MODULE_1__[\"default\"])];\n            _syncs_decorators = [(0,_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_MPSyncs__WEBPACK_IMPORTED_MODULE_8__[\"default\"])];\n            _monitor_decorators = [(0,_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_Plugin_MPMonitor__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n            _finish_decorators = [_decorator_bind__WEBPACK_IMPORTED_MODULE_5__[\"default\"]];\n            __esDecorate(_a, null, _data_decorators, { kind: \"accessor\", name: \"data\", static: false, private: false, access: { has: obj => \"data\" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } } }, _data_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _syncs_decorators, { kind: \"accessor\", name: \"syncs\", static: false, private: false, access: { has: obj => \"syncs\" in obj, get: obj => obj.syncs, set: (obj, value) => { obj.syncs = value; } } }, _syncs_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _monitor_decorators, { kind: \"accessor\", name: \"monitor\", static: false, private: false, access: { has: obj => \"monitor\" in obj, get: obj => obj.monitor, set: (obj, value) => { obj.monitor = value; } } }, _monitor_initializers, _instanceExtraInitializers);\n            __esDecorate(_a, null, _finish_decorators, { kind: \"method\", name: \"finish\", static: false, private: false, access: { has: obj => \"finish\" in obj, get: obj => obj.finish } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/plugin/MPFind.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/plugin/MPSync.ts":
    /*!**************************************!*\
      !*** ./src/lib/WSE/plugin/MPSync.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MPSync)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _MPSyncs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MPSyncs */ \"./src/lib/WSE/plugin/MPSyncs.ts\");\n/* harmony import */ var _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Tools/ValueUtils */ \"./src/Tools/ValueUtils.ts\");\n/* harmony import */ var _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../Tools/QueryTool */ \"./src/Tools/QueryTool.ts\");\n/* harmony import */ var _interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../interfaces/SyncBean */ \"./src/lib/WSE/interfaces/SyncBean.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _error_CodeError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../error/CodeError */ \"./src/lib/error/CodeError.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\nclass MPSync extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_5__[\"default\"] {\n    constructor(mgr, data, sync, info, hosts = {}) {\n        super();\n        this.hosts = {};\n        this.mgr = mgr;\n        this.data = data;\n        this.sync = sync;\n        this.info = info !== null && info !== void 0 ? info : this.data.data;\n        this.hosts = hosts;\n    }\n    fail(fail) {\n        this.mgr.changeState(this.sync, _MPSyncs__WEBPACK_IMPORTED_MODULE_1__.SyncState.Fail, fail);\n        return false;\n    }\n    loading() {\n        this.mgr.changeState(this.sync, _MPSyncs__WEBPACK_IMPORTED_MODULE_1__.SyncState.Loading);\n    }\n    success() {\n        this.mgr.changeState(this.sync, _MPSyncs__WEBPACK_IMPORTED_MODULE_1__.SyncState.Success);\n        return true;\n    }\n    /**\n     * 处理code\n     */\n    handleCode() {\n        const { sync, data } = this;\n        let { code } = data.data;\n        if (sync.code) {\n            code = sync.code(code);\n            if (!code)\n                throw new Error(\"code处理不合格\");\n        }\n        this.code = code;\n        return code;\n    }\n    handleUrl() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const url = this.sync.url;\n            //格式化url\n            let link = this.formatUrl(url);\n            //处理host\n            link = this.handleHost(link, url);\n            const { sync, data } = this;\n            const { handleUrl } = sync;\n            if (handleUrl) {\n                let l = yield sync.handleUrl(link, Object.assign(Object.assign({}, data.data), { code: this.code }), this);\n                if (!l)\n                    throw new Error(\"handleUrl处理不合格\");\n                //处理host\n                link = this.handleHost(l, url);\n            }\n            //修改状态\n            this.setLink(link);\n            return link;\n        });\n    }\n    setLink(link) {\n        //修改状态\n        this.mgr.setSyncUrl(this.sync, link);\n        this.link = link;\n    }\n    request(link) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const { http } = this.sync;\n            let headers = http === null || http === void 0 ? void 0 : http.headers;\n            if (typeof headers === \"function\")\n                headers = headers(this.code, this.info, this);\n            const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(link, headers, http === null || http === void 0 ? void 0 : http.method, http === null || http === void 0 ? void 0 : http.options);\n            if (res === false) {\n                throw new Error(`地址请求失败`);\n            }\n            return res;\n        });\n    }\n    resCheck(res) {\n        const { check } = this.sync;\n        //检测是否符合\n        if (typeof check === \"string\") {\n            if (!res.querySelector(check))\n                //修改执行状态\n                throw new _error_CodeError__WEBPACK_IMPORTED_MODULE_6__[\"default\"](\"Res检测不通过\", -100);\n            return true;\n        }\n        else if (typeof check === \"function\") {\n            let ret = check(res, this.info);\n            if (ret === false)\n                throw new _error_CodeError__WEBPACK_IMPORTED_MODULE_6__[\"default\"](\"Res检测不通过\", -100);\n            return ret;\n        }\n    }\n    /**\n     * 开始一个执行器\n     * @param sync\n     */\n    start() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const { url, listSelector } = this.sync;\n            //修改状态\n            this.loading();\n            try {\n                if (url === false) {\n                    yield this.handleRes(void 0);\n                    return this.success();\n                }\n                //获取code\n                this.handleCode();\n                //处理link\n                const link = yield this.handleUrl();\n                //获取结果\n                let res = yield this.request(link);\n                //检测是否符合\n                let ret = this.resCheck(res);\n                //如果返回了url,则再次执行请求\n                if (typeof ret === \"string\") {\n                    this.setLink(this.handleHost(ret));\n                    res = yield this.request(this.link);\n                }\n                //获取数据d\n                if (listSelector) {\n                    let lists = res.querySelectorAll(listSelector) || [];\n                    // this.log(\"【\" + this.sync.name + \"】\", \"查询到列表\", lists.length, lists);\n                    for (let li of Array.from(lists))\n                        yield this.handleRes(li);\n                }\n                else\n                    yield this.handleRes(res);\n                //修改执行状态\n                this.success();\n                return true;\n            }\n            catch (e) {\n                //如果是检测不通过,则不适为失败\n                if (e.code === -100)\n                    return this.success();\n                this.warn(`【${this.sync.name}】执行错误`, typeof e, e.code, e.message, this);\n                //修改执行状态\n                return this.fail(e.message);\n            }\n        });\n    }\n    handleRes(res) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //查询数据\n            let moive = yield this.handQuerys(res);\n            // this.log(\"【\" + this.sync.name + \"】\", \"查询到数据\", moive);\n            const { sync, link } = this;\n            const data = Object.assign(Object.assign({}, this.info), { code: this.code });\n            if (sync.for) {\n                const [from, to] = sync.for;\n                moive.for = sync.forData[to];\n            }\n            //二次加工数据\n            this.handleMachine(moive, sync);\n            //校验数据的有效性\n            if (sync.validate) {\n                const { required, handle, must = {} } = sync.validate;\n                //处理必须\n                if (required)\n                    for (let key of required)\n                        if (!moive[key])\n                            return;\n                //处理自定义\n                if (handle && !handle(moive))\n                    return;\n                //处理必须包含\n                for (let key in must) {\n                    let item = must[key];\n                    if (!moive || !moive[key] || moive[key].indexOf(data[item]) === -1)\n                        return;\n                }\n            }\n            //根据其他值进行二次数据生成\n            //判断为列表项之一\n            //更新数据\n            if (sync.list) {\n                moive.from = sync.name;\n                if (!moive.link)\n                    moive.link = link;\n                this.data.updateList(sync.list, moive, sync);\n            }\n            //更新数据\n            else\n                this.data.update(moive, sync);\n        });\n    }\n    handleMachine(movie, sync) {\n        //二次加工数据\n        if (sync.machine) {\n            for (let key in sync.machine) {\n                let machine = sync.machine[key];\n                let check;\n                if (typeof machine === \"function\") {\n                    let ret = machine(movie);\n                    if (typeof ret !== \"undefined\")\n                        check = movie[key] = ret;\n                }\n                else {\n                    let [key2, reg] = machine;\n                    if (reg.test(movie[key2]))\n                        check = movie[key] = true;\n                }\n                //如果为true\n                if (check)\n                    this.data.update({ [key]: true }, this.sync);\n            }\n        }\n    }\n    /**\n     * 处理url中的参数 {{}} 为真实参数\n     * @param url\n     * @param args\n     * @returns\n     */\n    formatUrl(url) {\n        var _a;\n        if (!url)\n            return url;\n        const data = Object.assign(Object.assign({}, this.info), { code: this.code });\n        const keys = (_a = url.match(/\\{{([\\s\\S]+)}\\}/g)) !== null && _a !== void 0 ? _a : [];\n        for (let key of keys) {\n            url = url.replace(key, data[key.replace(/{|}/g, \"\")]);\n        }\n        return url;\n    }\n    toMap(query) {\n        const map = { selector: \"\" };\n        if (typeof query === \"string\") {\n            let [selector, key = \"textContent\", all] = query.split(\"&&\");\n            map.selector = selector;\n            map.key = key;\n            map.list = all === \"all\";\n        }\n        else if (query instanceof Function) {\n            map.handle = query;\n        }\n        else {\n            return query;\n        }\n        return map;\n    }\n    /**\n     * 通过querySelector查询\n     * @param res\n     * @param query\n     * @returns\n     */\n    handQuery(res, querys, values) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (querys === \"LINK\")\n                return this.link;\n            const query = this.toMap(querys);\n            //如果为方法\n            let value;\n            if (query.handle) {\n                //判断sync是否为sync对象\n                if (this.sync instanceof _interfaces_SyncBean__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n                    value = yield query.handle.call(this.sync, res, this.info, values);\n                else\n                    value = yield query.handle(res, this.info, values);\n            }\n            else {\n                //处理 query\n                if (query.list) {\n                    value = Array.from(_Tools_QueryTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].querySelectorAll(res, query.selector));\n                    value = value.map((item) => this.handleValue(item, query));\n                    return value;\n                }\n                else {\n                    if (query.selector !== \"\")\n                        value = _Tools_QueryTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].querySelector(res, query.selector);\n                    else\n                        value = res;\n                }\n            }\n            value = this.handleValue(value, query);\n            return value;\n        });\n    }\n    handleValue(value, query) {\n        let isUrl = query.url;\n        const { sync } = this;\n        //是否有key\n        if (query.key) {\n            if (query.key === \"BOOL\")\n                return !!value;\n            const [key, ...attr] = query.key.split(\".\");\n            if (value instanceof HTMLElement && (key === \"src\" || key === \"href\")) {\n                isUrl = true;\n                value = value.getAttribute(key);\n                if (attr.length > 0)\n                    value = _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getValue(value, attr.join(\".\"));\n            }\n            else\n                value = _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getValue(value, query.key);\n        }\n        //处理url\n        if (isUrl && value) {\n            value = this.handleHost(value, sync.url);\n        }\n        //处理check\n        if (query.check) {\n            if (query.check instanceof RegExp) {\n                if (!query.check.test(value))\n                    return;\n            }\n            else if (query.check instanceof Function) {\n                if (!query.check(value))\n                    return;\n            }\n        }\n        return value;\n    }\n    /**\n     * 处理多querySelector查询\n     * @param res\n     * @param queryes\n     * @returns\n     */\n    handQuerys(res) {\n        return __awaiter(this, void 0, void 0, function* () {\n            let values = {};\n            const { query = {} } = this.sync;\n            for (let key in query) {\n                let value = yield this.handQuery(res, query[key], values);\n                if (typeof value === \"undefined\")\n                    continue;\n                values[key] = value;\n            }\n            return values;\n        });\n    }\n    handleHost(url, to) {\n        var _a;\n        if (this.sync.url === false)\n            return url;\n        to = to !== null && to !== void 0 ? to : this.sync.url;\n        const u = new URL(to);\n        try {\n            if (url.startsWith(\"//\"))\n                url = \"https:\" + url;\n            const t = new URL(url);\n            //TODO后续判断替换url\n            let tUrl = this.hosts[this.sync.name];\n            if (tUrl && t.origin === u.origin) {\n                url = url.replace(t.origin, tUrl);\n            }\n        }\n        catch (error) {\n            let origin = (_a = this.sync.host) !== null && _a !== void 0 ? _a : u.origin;\n            //如果报错,说明地址不带origin,\n            if (url.startsWith(\"/\"))\n                return origin + url;\n            else\n                return origin + \"/\" + url;\n        }\n        return url;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/plugin/MPSync.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/plugin/MPSyncs.ts":
    /*!***************************************!*\
      !*** ./src/lib/WSE/plugin/MPSyncs.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SyncState: () => (/* binding */ SyncState),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Plugin_WPData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Plugin/WPData */ \"./src/Plugin/WPData.ts\");\n/* harmony import */ var _Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Engine/Plugin */ \"./src/lib/Engine/Plugin.ts\");\n/* harmony import */ var _Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Engine/bindPlugin */ \"./src/lib/Engine/bindPlugin.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\n\n\n\nvar SyncState;\n(function (SyncState) {\n    /** 等待状态 */\n    SyncState[SyncState[\"Waiting\"] = 0] = \"Waiting\";\n    /** 执行状态 */\n    SyncState[SyncState[\"Loading\"] = 1] = \"Loading\";\n    /** 执行成功 */\n    SyncState[SyncState[\"Success\"] = 2] = \"Success\";\n    /** 失败 */\n    SyncState[SyncState[\"Fail\"] = 3] = \"Fail\";\n})(SyncState || (SyncState = {}));\n/**\n * 执行器状态管理\n */\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a, _MPSyncs_movie_accessor_storage;\n    let _instanceExtraInitializers = [];\n    let _movie_decorators;\n    let _movie_initializers = [];\n    return _a = class MPSyncs extends _Engine_Plugin__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                /** 执行器 */\n                this.syncs = (__runInitializers(this, _instanceExtraInitializers), {});\n                _MPSyncs_movie_accessor_storage.set(this, __runInitializers(this, _movie_initializers, void 0));\n                this.finish = 0;\n                this.loading = 0;\n            }\n            get movie() { return __classPrivateFieldGet(this, _MPSyncs_movie_accessor_storage, \"f\"); }\n            set movie(value) { __classPrivateFieldSet(this, _MPSyncs_movie_accessor_storage, value, \"f\"); }\n            reset() {\n                this.syncs = {};\n                this.finish = 0;\n            }\n            /**\n             * 添加同步器\n             * @param sync\n             */\n            addSync(...syncs) {\n                for (let sync of syncs)\n                    this.syncs[sync.name] = { state: SyncState.Waiting, time: 0, start: 0 };\n            }\n            /**\n             * 修改状态\n             * @param sync\n             * @param state\n             */\n            changeState(sync, state, fail) {\n                const cache = this.syncs[sync.name];\n                if (!cache)\n                    return;\n                cache.state = state;\n                switch (state) {\n                    case SyncState.Fail:\n                        cache.fail = fail;\n                    case SyncState.Success:\n                        this.finish++;\n                        this.loading--;\n                        cache.time = new Date().valueOf() - cache.start;\n                        break;\n                    case SyncState.Loading:\n                        this.loading++;\n                        //挤时间\n                        cache.start = new Date().valueOf();\n                        break;\n                }\n                this.update();\n            }\n            setSyncUrl(sync, url) {\n                const cache = this.syncs[sync.name];\n                if (!cache)\n                    return;\n                cache.url = url;\n            }\n            update() {\n                const syncs = this.syncs;\n                //总数\n                const total = Object.keys(syncs).length;\n                //如果全部完成\n                //更新状态\n                this.movie.update({\n                    syncs: {\n                        total,\n                        finish: this.finish,\n                        loading: this.loading,\n                        state: this.syncs,\n                    },\n                });\n                if (this.finish === total)\n                    this.movie.printRecord();\n            }\n        },\n        _MPSyncs_movie_accessor_storage = new WeakMap(),\n        (() => {\n            _movie_decorators = [(0,_Engine_bindPlugin__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_Plugin_WPData__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n            __esDecorate(_a, null, _movie_decorators, { kind: \"accessor\", name: \"movie\", static: false, private: false, access: { has: obj => \"movie\" in obj, get: obj => obj.movie, set: (obj, value) => { obj.movie = value; } } }, _movie_initializers, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/plugin/MPSyncs.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/WSE/tools/Pool.ts":
    /*!***********************************!*\
      !*** ./src/lib/WSE/tools/Pool.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Pool)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nclass Pool extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /** 线程数 */\n    constructor(list, thread = 5, doing) {\n        var _a;\n        super();\n        /** 下载状态 */\n        this.isIng = false;\n        this.waitDowns = [...list];\n        this.doing = doing;\n        this.total = (_a = list.length) !== null && _a !== void 0 ? _a : 1;\n        this.ingDowns = new Set();\n        this.finishDowns = new Set();\n        this.errDowns = new Set();\n        this.thread = thread;\n    }\n    /**\n     * 添加同步器\n     * @param item\n     */\n    add(...item) {\n        this.waitDowns.push(...item);\n        this.total += item.length;\n        //如果没有进行中,则开始\n        if (!this.isIng)\n            this.start(this.doing);\n        else {\n            //取出一个下载器\n            let count = this.thread - this.ingDowns.size;\n            for (let i = 0; i < count; i++) {\n                this.down();\n            }\n        }\n    }\n    /**\n     * 监听进度\n     * @param call\n     * @returns\n     */\n    progress(call) {\n        this._progress = call;\n        return this;\n    }\n    /**\n     * 监听完成\n     * @param call\n     * @returns\n     */\n    finish(call) {\n        this._finish = call;\n        return this;\n    }\n    start(doing) {\n        if (this.isIng)\n            return;\n        if (!doing)\n            return;\n        this.isIng = true;\n        this.doing = doing;\n        //取出一个下载器\n        for (let i = 0; i < this.thread; i++) {\n            this.down();\n        }\n    }\n    down() {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            const down = this.waitDowns.shift();\n            if (!down)\n                return;\n            //添加到下载中\n            this.ingDowns.add(down);\n            //更新进度\n            this.update();\n            //下载\n            const ret = yield this.doing(down);\n            //移除下载中\n            this.ingDowns.delete(down);\n            if (ret)\n                this.finishDowns.add(down);\n            else\n                this.errDowns.add(down);\n            //如果还继续存在,则继续执行\n            if (this.waitDowns.length > 0) {\n                this.down();\n                return;\n            }\n            //判断下载中是否为空\n            if (this.ingDowns.size === 0) {\n                this.isIng = false;\n                (_a = this._finish) === null || _a === void 0 ? void 0 : _a.call(this);\n            }\n            else {\n                this.update();\n            }\n        });\n    }\n    update() {\n        var _a;\n        const { finishDowns, errDowns, waitDowns, ingDowns } = this;\n        // this.log(\"更新进度\", this.total, finishDowns.size + errDowns.size, ingDowns.size, waitDowns.length, finishDowns.size, errDowns.size);\n        const precent = Math.round(((finishDowns.size + errDowns.size) * 10000) / this.total) / 100;\n        (_a = this._progress) === null || _a === void 0 ? void 0 : _a.call(this, precent, this.total, finishDowns.size + errDowns.size, ingDowns, waitDowns, finishDowns, errDowns);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/WSE/tools/Pool.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/decorator/bind.ts":
    /*!***********************************!*\
      !*** ./src/lib/decorator/bind.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * 自动绑定this指针\n */\nconst bind = (value, context) => {\n    context.addInitializer(function () {\n        this[context.name] = value.bind(this);\n    });\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bind);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/decorator/bind.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/decorator/createAccessor.ts":
    /*!*********************************************!*\
      !*** ./src/lib/decorator/createAccessor.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst createAccessor = (config) => {\n    return (value, context) => {\n        return {\n            init(initialValue) {\n                if (config.init)\n                    return config.init.call(this, initialValue, context);\n                return initialValue;\n            },\n            get() {\n                const old = value.get.call(this);\n                if (config.get)\n                    return config.get.call(this, old, context);\n                return old;\n            },\n            set(newValue) {\n                if (config.set)\n                    config.set.call(this, newValue, context);\n                value.set.call(this, newValue);\n            },\n        };\n    };\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createAccessor);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/decorator/createAccessor.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/decorator/delay.ts":
    /*!************************************!*\
      !*** ./src/lib/decorator/delay.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst delay = (time = 1000) => {\n    return function (target, context) {\n        context.addInitializer(function () {\n            this[context.name.toString()] = function (...args) {\n                const key = `timer_${context.name.toString()}`;\n                // console.log(\" EditInput onChange\", this[key], time, new Date().getTime());\n                clearTimeout(this[key]);\n                this[key] = setTimeout(() => {\n                    target.call(this, ...args);\n                }, time);\n            }.bind(this);\n        });\n    };\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (delay);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/decorator/delay.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/error/CodeError.ts":
    /*!************************************!*\
      !*** ./src/lib/error/CodeError.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CodeError)\n/* harmony export */ });\nclass CodeError extends Error {\n    constructor(message, code) {\n        super(message);\n        this.code = code;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/error/CodeError.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/findAndReplaceDOMText.js":
    /*!******************************************!*\
      !*** ./src/lib/findAndReplaceDOMText.js ***!
      \******************************************/
    /***/ (function(module, exports, __webpack_require__) {
    
    eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\r\n * findAndReplaceDOMText v 0.4.6\r\n * @author James Padolsey http://james.padolsey.com\r\n * @license http://unlicense.org/UNLICENSE\r\n *\r\n * Matches the text of a DOM node against a regular expression\r\n * and replaces each match (or node-separated portions of the match)\r\n * in the specified element.\r\n */\r\n(function (root, factory) {\r\n    if ( true && module.exports) {\r\n        // Node/CommonJS\r\n        module.exports = factory();\r\n    } else if (true) {\r\n        // AMD. Register as an anonymous module.\r\n        !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n    } else {}\r\n}(this, function factory() {\r\n\r\n    var PORTION_MODE_RETAIN = 'retain';\r\n    var PORTION_MODE_FIRST = 'first';\r\n\r\n    var doc = document;\r\n    var hasOwn = {}.hasOwnProperty;\r\n\r\n    function escapeRegExp(s) {\r\n        return String(s).replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\r\n    }\r\n\r\n    function exposed() {\r\n        // Try deprecated arg signature first:\r\n        return deprecated.apply(null, arguments) || findAndReplaceDOMText.apply(null, arguments);\r\n    }\r\n\r\n    function deprecated(regex, node, replacement, captureGroup, elFilter) {\r\n        if ((node && !node.nodeType) && arguments.length <= 2) {\r\n            return false;\r\n        }\r\n        var isReplacementFunction = typeof replacement == 'function';\r\n\r\n        if (isReplacementFunction) {\r\n            replacement = (function (original) {\r\n                return function (portion, match) {\r\n                    return original(portion.text, match.startIndex);\r\n                };\r\n            }(replacement));\r\n        }\r\n\r\n        // Awkward support for deprecated argument signature (<0.4.0)\r\n        var instance = findAndReplaceDOMText(node, {\r\n\r\n            find: regex,\r\n\r\n            wrap: isReplacementFunction ? null : replacement,\r\n            replace: isReplacementFunction ? replacement : '$' + (captureGroup || '&'),\r\n\r\n            prepMatch: function (m, mi) {\r\n\r\n                // Support captureGroup (a deprecated feature)\r\n\r\n                if (!m[0]) throw 'findAndReplaceDOMText cannot handle zero-length matches';\r\n\r\n                if (captureGroup > 0) {\r\n                    var cg = m[captureGroup];\r\n                    m.index += m[0].indexOf(cg);\r\n                    m[0] = cg;\r\n                }\r\n\r\n                m.endIndex = m.index + m[0].length;\r\n                m.startIndex = m.index;\r\n                m.index = mi;\r\n\r\n                return m;\r\n            },\r\n            filterElements: elFilter\r\n        });\r\n\r\n        exposed.revert = function () {\r\n            return instance.revert();\r\n        };\r\n\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * findAndReplaceDOMText\r\n     *\r\n     * Locates matches and replaces with replacementNode\r\n     *\r\n     * @param {Node} node Element or Text node to search within\r\n     * @param {RegExp} options.find The regular expression to match\r\n     * @param {String|Element} [options.wrap] A NodeName, or a Node to clone\r\n     * @param {String} [options.wrapClass] A classname to append to the wrapping element\r\n     * @param {String|Function} [options.replace='$&'] What to replace each match with\r\n     * @param {Function} [options.filterElements] A Function to be called to check whether to\r\n     *\tprocess an element. (returning true = process element,\r\n     *\treturning false = avoid element)\r\n     */\r\n    function findAndReplaceDOMText(node, options) {\r\n        return new Finder(node, options);\r\n    }\r\n\r\n    exposed.NON_PROSE_ELEMENTS = {\r\n        br: 1, hr: 1,\r\n        // Media / Source elements:\r\n        script: 1, style: 1, img: 1, video: 1, audio: 1, canvas: 1, svg: 1, map: 1, object: 1,\r\n        // Input elements\r\n        input: 1, textarea: 1, select: 1, option: 1, optgroup: 1, button: 1\r\n    };\r\n\r\n    exposed.NON_CONTIGUOUS_PROSE_ELEMENTS = {\r\n\r\n        // Elements that will not contain prose or block elements where we don't\r\n        // want prose to be matches across element borders:\r\n\r\n        // Block Elements\r\n        address: 1, article: 1, aside: 1, blockquote: 1, dd: 1, div: 1,\r\n        dl: 1, fieldset: 1, figcaption: 1, figure: 1, footer: 1, form: 1, h1: 1, h2: 1, h3: 1,\r\n        h4: 1, h5: 1, h6: 1, header: 1, hgroup: 1, hr: 1, main: 1, nav: 1, noscript: 1, ol: 1,\r\n        output: 1, p: 1, pre: 1, section: 1, ul: 1,\r\n        // Other misc. elements that are not part of continuous inline prose:\r\n        br: 1, li: 1, summary: 1, dt: 1, details: 1, rp: 1, rt: 1, rtc: 1,\r\n        // Media / Source elements:\r\n        script: 1, style: 1, img: 1, video: 1, audio: 1, canvas: 1, svg: 1, map: 1, object: 1,\r\n        // Input elements\r\n        input: 1, textarea: 1, select: 1, option: 1, optgroup: 1, button: 1,\r\n        // Table related elements:\r\n        table: 1, tbody: 1, thead: 1, th: 1, tr: 1, td: 1, caption: 1, col: 1, tfoot: 1, colgroup: 1\r\n\r\n    };\r\n\r\n    exposed.NON_INLINE_PROSE = function (el) {\r\n        return hasOwn.call(exposed.NON_CONTIGUOUS_PROSE_ELEMENTS, el.nodeName.toLowerCase());\r\n    };\r\n\r\n    // Presets accessed via `options.preset` when calling findAndReplaceDOMText():\r\n    exposed.PRESETS = {\r\n        prose: {\r\n            forceContext: exposed.NON_INLINE_PROSE,\r\n            filterElements: function (el) {\r\n                return !hasOwn.call(exposed.NON_PROSE_ELEMENTS, el.nodeName.toLowerCase());\r\n            }\r\n        }\r\n    };\r\n\r\n    exposed.Finder = Finder;\r\n\r\n    /**\r\n     * Finder -- encapsulates logic to find and replace.\r\n     */\r\n    function Finder(node, options) {\r\n\r\n        var preset = options.preset && exposed.PRESETS[options.preset];\r\n\r\n        options.portionMode = options.portionMode || PORTION_MODE_RETAIN;\r\n\r\n        if (preset) {\r\n            for (var i in preset) {\r\n                if (hasOwn.call(preset, i) && !hasOwn.call(options, i)) {\r\n                    options[i] = preset[i];\r\n                }\r\n            }\r\n        }\r\n\r\n        this.node = node;\r\n        this.options = options;\r\n\r\n        // Enable match-preparation method to be passed as option:\r\n        this.prepMatch = options.prepMatch || this.prepMatch;\r\n\r\n        this.reverts = [];\r\n\r\n        this.matches = this.search();\r\n\r\n        if (this.matches.length) {\r\n            this.processMatches();\r\n        }\r\n\r\n    }\r\n\r\n    Finder.prototype = {\r\n\r\n        /**\r\n         * Searches for all matches that comply with the instance's 'match' option\r\n         */\r\n        search: function () {\r\n\r\n            var match;\r\n            var matchIndex = 0;\r\n            var offset = 0;\r\n            var regex = this.options.find;\r\n            var textAggregation = this.getAggregateText();\r\n            var matches = [];\r\n            var self = this;\r\n\r\n            regex = typeof regex === 'string' ? RegExp(escapeRegExp(regex), 'g') : regex;\r\n\r\n            matchAggregation(textAggregation);\r\n\r\n            function matchAggregation(textAggregation) {\r\n                for (var i = 0, l = textAggregation.length; i < l; ++i) {\r\n\r\n                    var text = textAggregation[i];\r\n\r\n                    if (typeof text !== 'string') {\r\n                        // Deal with nested contexts: (recursive)\r\n                        matchAggregation(text);\r\n                        continue;\r\n                    }\r\n\r\n                    // console.warn('text', text,regex.global);\r\n                    if (regex.global) {\r\n                        while (match = regex.exec(text)) {\r\n                            matches.push(self.prepMatch(match, matchIndex++, offset));\r\n                        }\r\n                    } else {\r\n                        if (match = text.match(regex)) {\r\n                            matches.push(self.prepMatch(match, 0, offset));\r\n                        }\r\n                    }\r\n\r\n                    offset += text.length;\r\n                }\r\n            }\r\n\r\n            return matches;\r\n\r\n        },\r\n\r\n        /**\r\n         * Prepares a single match with useful meta info:\r\n         */\r\n        prepMatch: function (match, matchIndex, characterOffset) {\r\n\r\n            if (!match[0]) {\r\n                throw new Error('findAndReplaceDOMText cannot handle zero-length matches');\r\n            }\r\n\r\n            match.endIndex = characterOffset + match.index + match[0].length;\r\n            match.startIndex = characterOffset + match.index;\r\n            match.index = matchIndex;\r\n\r\n            return match;\r\n        },\r\n\r\n        /**\r\n         * Gets aggregate text within subject node\r\n         */\r\n        getAggregateText: function () {\r\n\r\n            var elementFilter = this.options.filterElements;\r\n            var forceContext = this.options.forceContext;\r\n\r\n            return getText(this.node);\r\n\r\n            /**\r\n             * Gets aggregate text of a node without resorting\r\n             * to broken innerText/textContent\r\n             */\r\n            function getText(node) {\r\n\r\n                if (node.nodeType === Node.TEXT_NODE) {\r\n                    return [node.data];\r\n                }\r\n\r\n                if (elementFilter && !elementFilter(node)) {\r\n                    return [];\r\n                }\r\n\r\n                var txt = [''];\r\n                var i = 0;\r\n\r\n                if (node = node.firstChild) do {\r\n\r\n                    if (node.nodeType === Node.TEXT_NODE) {\r\n                        txt[i] += node.data;\r\n                        continue;\r\n                    }\r\n\r\n                    var innerText = getText(node);\r\n\r\n                    if (\r\n                        forceContext &&\r\n                        node.nodeType === Node.ELEMENT_NODE &&\r\n                        (forceContext === true || forceContext(node))\r\n                    ) {\r\n                        txt[++i] = innerText;\r\n                        txt[++i] = '';\r\n                    } else {\r\n                        if (typeof innerText[0] === 'string') {\r\n                            // Bridge nested text-node data so that they're\r\n                            // not considered their own contexts:\r\n                            // I.e. ['some', ['thing']] -> ['something']\r\n                            txt[i] += innerText.shift();\r\n                        }\r\n                        if (innerText.length) {\r\n                            txt[++i] = innerText;\r\n                            txt[++i] = '';\r\n                        }\r\n                    }\r\n                } while (node = node.nextSibling);\r\n\r\n                return txt;\r\n\r\n            }\r\n\r\n        },\r\n\r\n        /**\r\n         * Steps through the target node, looking for matches, and\r\n         * calling replaceFn when a match is found.\r\n         */\r\n        processMatches: function () {\r\n\r\n            var matches = this.matches;\r\n            var node = this.node;\r\n            var elementFilter = this.options.filterElements;\r\n\r\n            var startPortion,\r\n                endPortion,\r\n                innerPortions = [],\r\n                curNode = node,\r\n                match = matches.shift(),\r\n                atIndex = 0, // i.e. nodeAtIndex\r\n                matchIndex = 0,\r\n                portionIndex = 0,\r\n                doAvoidNode,\r\n                nodeStack = [node];\r\n\r\n            out: while (true) {\r\n\r\n                if (curNode.nodeType === Node.TEXT_NODE) {\r\n\r\n                    if (!endPortion && curNode.length + atIndex >= match.endIndex) {\r\n                        // We've found the ending\r\n                        // (Note that, in the case of a single portion, it'll be an\r\n                        // endPortion, not a startPortion.)\r\n                        endPortion = {\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            text: curNode.data.substring(match.startIndex - atIndex, match.endIndex - atIndex),\r\n\r\n                            // If it's the first match (atIndex==0) we should just return 0\r\n                            indexInMatch: atIndex === 0 ? 0 : atIndex - match.startIndex,\r\n\r\n                            indexInNode: match.startIndex - atIndex,\r\n                            endIndexInNode: match.endIndex - atIndex,\r\n                            isEnd: true\r\n                        };\r\n\r\n                    } else if (startPortion) {\r\n                        // Intersecting node\r\n                        innerPortions.push({\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            text: curNode.data,\r\n                            indexInMatch: atIndex - match.startIndex,\r\n                            indexInNode: 0 // always zero for inner-portions\r\n                        });\r\n                    }\r\n\r\n                    if (!startPortion && curNode.length + atIndex > match.startIndex) {\r\n                        // We've found the match start\r\n                        startPortion = {\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            indexInMatch: 0,\r\n                            indexInNode: match.startIndex - atIndex,\r\n                            endIndexInNode: match.endIndex - atIndex,\r\n                            text: curNode.data.substring(match.startIndex - atIndex, match.endIndex - atIndex)\r\n                        };\r\n                    }\r\n\r\n                    atIndex += curNode.data.length;\r\n\r\n                }\r\n\r\n                doAvoidNode = curNode.nodeType === Node.ELEMENT_NODE && elementFilter && !elementFilter(curNode);\r\n\r\n                if (startPortion && endPortion) {\r\n\r\n                    curNode = this.replaceMatch(match, startPortion, innerPortions, endPortion);\r\n\r\n                    // processMatches has to return the node that replaced the endNode\r\n                    // and then we step back so we can continue from the end of the\r\n                    // match:\r\n\r\n                    atIndex -= (endPortion.node.data.length - endPortion.endIndexInNode);\r\n\r\n                    startPortion = null;\r\n                    endPortion = null;\r\n                    innerPortions = [];\r\n                    match = matches.shift();\r\n                    portionIndex = 0;\r\n                    matchIndex++;\r\n\r\n                    if (!match) {\r\n                        break; // no more matches\r\n                    }\r\n\r\n                } else if (\r\n                    !doAvoidNode &&\r\n                    (curNode.firstChild || curNode.nextSibling)\r\n                ) {\r\n                    // Move down or forward:\r\n                    if (curNode.firstChild) {\r\n                        nodeStack.push(curNode);\r\n                        curNode = curNode.firstChild;\r\n                    } else {\r\n                        curNode = curNode.nextSibling;\r\n                    }\r\n                    continue;\r\n                }\r\n\r\n                // Move forward or up:\r\n                while (true) {\r\n                    if (curNode.nextSibling) {\r\n                        curNode = curNode.nextSibling;\r\n                        break;\r\n                    }\r\n                    curNode = nodeStack.pop();\r\n                    if (curNode === node) {\r\n                        break out;\r\n                    }\r\n                }\r\n\r\n            }\r\n\r\n        },\r\n\r\n        /**\r\n         * Reverts ... TODO\r\n         */\r\n        revert: function () {\r\n            // Reversion occurs backwards so as to avoid nodes subsequently\r\n            // replaced during the matching phase (a forward process):\r\n            for (var l = this.reverts.length; l--;) {\r\n                this.reverts[l]();\r\n            }\r\n            this.reverts = [];\r\n        },\r\n\r\n        prepareReplacementString: function (string, portion, match) {\r\n            var portionMode = this.options.portionMode;\r\n            if (\r\n                portionMode === PORTION_MODE_FIRST &&\r\n                portion.indexInMatch > 0\r\n            ) {\r\n                return '';\r\n            }\r\n            string = string.replace(/\\$(\\d+|&|`|')/g, function ($0, t) {\r\n                var replacement;\r\n                switch (t) {\r\n                    case '&':\r\n                        replacement = match[0];\r\n                        break;\r\n                    case '`':\r\n                        replacement = match.input.substring(0, match.startIndex);\r\n                        break;\r\n                    case '\\'':\r\n                        replacement = match.input.substring(match.endIndex);\r\n                        break;\r\n                    default:\r\n                        replacement = match[+t] || '';\r\n                }\r\n                return replacement;\r\n            });\r\n\r\n            if (portionMode === PORTION_MODE_FIRST) {\r\n                return string;\r\n            }\r\n\r\n            if (portion.isEnd) {\r\n                return string.substring(portion.indexInMatch);\r\n            }\r\n\r\n            return string.substring(portion.indexInMatch, portion.indexInMatch + portion.text.length);\r\n        },\r\n\r\n        getPortionReplacementNode: function (portion, match) {\r\n\r\n            var replacement = this.options.replace || '$&';\r\n            var wrapper = this.options.wrap;\r\n            var wrapperClass = this.options.wrapClass;\r\n\r\n            if (wrapper && wrapper.nodeType) {\r\n                // Wrapper has been provided as a stencil-node for us to clone:\r\n                var clone = doc.createElement('div');\r\n                clone.innerHTML = wrapper.outerHTML || new XMLSerializer().serializeToString(wrapper);\r\n                wrapper = clone.firstChild;\r\n            }\r\n\r\n            if (typeof replacement == 'function') {\r\n                replacement = replacement(portion, match);\r\n                if (replacement && replacement.nodeType) {\r\n                    return replacement;\r\n                }\r\n                return doc.createTextNode(String(replacement));\r\n            }\r\n\r\n            var el = typeof wrapper == 'string' ? doc.createElement(wrapper) : wrapper;\r\n\r\n            if (el && wrapperClass) {\r\n                el.className = wrapperClass;\r\n            }\r\n\r\n            replacement = doc.createTextNode(\r\n                this.prepareReplacementString(\r\n                    replacement, portion, match\r\n                )\r\n            );\r\n\r\n            if (!replacement.data) {\r\n                return replacement;\r\n            }\r\n\r\n            if (!el) {\r\n                return replacement;\r\n            }\r\n\r\n            el.appendChild(replacement);\r\n\r\n            return el;\r\n        },\r\n\r\n        replaceMatch: function (match, startPortion, innerPortions, endPortion) {\r\n\r\n            var matchStartNode = startPortion.node;\r\n            var matchEndNode = endPortion.node;\r\n\r\n            var precedingTextNode;\r\n            var followingTextNode;\r\n\r\n            if (matchStartNode === matchEndNode) {\r\n\r\n                var node = matchStartNode;\r\n\r\n                if (startPortion.indexInNode > 0) {\r\n                    // Add `before` text node (before the match)\r\n                    precedingTextNode = doc.createTextNode(node.data.substring(0, startPortion.indexInNode));\r\n                    node.parentNode.insertBefore(precedingTextNode, node);\r\n                }\r\n\r\n                // Create the replacement node:\r\n                var newNode = this.getPortionReplacementNode(\r\n                    endPortion,\r\n                    match\r\n                );\r\n\r\n                node.parentNode.insertBefore(newNode, node);\r\n\r\n                if (endPortion.endIndexInNode < node.length) { // ?????\r\n                    // Add `after` text node (after the match)\r\n                    followingTextNode = doc.createTextNode(node.data.substring(endPortion.endIndexInNode));\r\n                    node.parentNode.insertBefore(followingTextNode, node);\r\n                }\r\n\r\n                node.parentNode.removeChild(node);\r\n\r\n                this.reverts.push(function () {\r\n                    if (precedingTextNode === newNode.previousSibling) {\r\n                        precedingTextNode.parentNode.removeChild(precedingTextNode);\r\n                    }\r\n                    if (followingTextNode === newNode.nextSibling) {\r\n                        followingTextNode.parentNode.removeChild(followingTextNode);\r\n                    }\r\n                    newNode.parentNode.replaceChild(node, newNode);\r\n                });\r\n\r\n                return newNode;\r\n\r\n            } else {\r\n                // Replace matchStartNode -> [innerMatchNodes...] -> matchEndNode (in that order)\r\n\r\n\r\n                precedingTextNode = doc.createTextNode(\r\n                    matchStartNode.data.substring(0, startPortion.indexInNode)\r\n                );\r\n\r\n                followingTextNode = doc.createTextNode(\r\n                    matchEndNode.data.substring(endPortion.endIndexInNode)\r\n                );\r\n\r\n                var firstNode = this.getPortionReplacementNode(\r\n                    startPortion,\r\n                    match\r\n                );\r\n\r\n                var innerNodes = [];\r\n\r\n                for (var i = 0, l = innerPortions.length; i < l; ++i) {\r\n                    var portion = innerPortions[i];\r\n                    var innerNode = this.getPortionReplacementNode(\r\n                        portion,\r\n                        match\r\n                    );\r\n                    portion.node.parentNode.replaceChild(innerNode, portion.node);\r\n                    this.reverts.push((function (portion, innerNode) {\r\n                        return function () {\r\n                            innerNode.parentNode.replaceChild(portion.node, innerNode);\r\n                        };\r\n                    }(portion, innerNode)));\r\n                    innerNodes.push(innerNode);\r\n                }\r\n\r\n                var lastNode = this.getPortionReplacementNode(\r\n                    endPortion,\r\n                    match\r\n                );\r\n\r\n                matchStartNode.parentNode.insertBefore(precedingTextNode, matchStartNode);\r\n                matchStartNode.parentNode.insertBefore(firstNode, matchStartNode);\r\n                matchStartNode.parentNode.removeChild(matchStartNode);\r\n\r\n                matchEndNode.parentNode.insertBefore(lastNode, matchEndNode);\r\n                matchEndNode.parentNode.insertBefore(followingTextNode, matchEndNode);\r\n                matchEndNode.parentNode.removeChild(matchEndNode);\r\n\r\n                this.reverts.push(function () {\r\n                    precedingTextNode.parentNode.removeChild(precedingTextNode);\r\n                    firstNode.parentNode.replaceChild(matchStartNode, firstNode);\r\n                    followingTextNode.parentNode.removeChild(followingTextNode);\r\n                    lastNode.parentNode.replaceChild(matchEndNode, lastNode);\r\n                });\r\n\r\n                return lastNode;\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    return exposed;\r\n\r\n}));\n\n//# sourceURL=webpack://empty-project/./src/lib/findAndReplaceDOMText.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   extend: () => (/* binding */ extend),\n/* harmony export */   getDocument: () => (/* binding */ getDocument),\n/* harmony export */   getWindow: () => (/* binding */ getWindow),\n/* harmony export */   ssrDocument: () => (/* binding */ ssrDocument),\n/* harmony export */   ssrWindow: () => (/* binding */ ssrWindow)\n/* harmony export */ });\n/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n    return (obj !== null &&\n        typeof obj === 'object' &&\n        'constructor' in obj &&\n        obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n    Object.keys(src).forEach((key) => {\n        if (typeof target[key] === 'undefined')\n            target[key] = src[key];\n        else if (isObject(src[key]) &&\n            isObject(target[key]) &&\n            Object.keys(src[key]).length > 0) {\n            extend(target[key], src[key]);\n        }\n    });\n}\n\nconst ssrDocument = {\n    body: {},\n    addEventListener() { },\n    removeEventListener() { },\n    activeElement: {\n        blur() { },\n        nodeName: '',\n    },\n    querySelector() {\n        return null;\n    },\n    querySelectorAll() {\n        return [];\n    },\n    getElementById() {\n        return null;\n    },\n    createEvent() {\n        return {\n            initEvent() { },\n        };\n    },\n    createElement() {\n        return {\n            children: [],\n            childNodes: [],\n            style: {},\n            setAttribute() { },\n            getElementsByTagName() {\n                return [];\n            },\n        };\n    },\n    createElementNS() {\n        return {};\n    },\n    importNode() {\n        return null;\n    },\n    location: {\n        hash: '',\n        host: '',\n        hostname: '',\n        href: '',\n        origin: '',\n        pathname: '',\n        protocol: '',\n        search: '',\n    },\n};\nfunction getDocument() {\n    const doc = typeof document !== 'undefined' ? document : {};\n    extend(doc, ssrDocument);\n    return doc;\n}\n\nconst ssrWindow = {\n    document: ssrDocument,\n    navigator: {\n        userAgent: '',\n    },\n    location: {\n        hash: '',\n        host: '',\n        hostname: '',\n        href: '',\n        origin: '',\n        pathname: '',\n        protocol: '',\n        search: '',\n    },\n    history: {\n        replaceState() { },\n        pushState() { },\n        go() { },\n        back() { },\n    },\n    CustomEvent: function CustomEvent() {\n        return this;\n    },\n    addEventListener() { },\n    removeEventListener() { },\n    getComputedStyle() {\n        return {\n            getPropertyValue() {\n                return '';\n            },\n        };\n    },\n    Image() { },\n    Date() { },\n    screen: {},\n    setTimeout() { },\n    clearTimeout() { },\n    matchMedia() {\n        return {};\n    },\n    requestAnimationFrame(callback) {\n        if (typeof setTimeout === 'undefined') {\n            callback();\n            return null;\n        }\n        return setTimeout(callback, 0);\n    },\n    cancelAnimationFrame(id) {\n        if (typeof setTimeout === 'undefined') {\n            return;\n        }\n        clearTimeout(id);\n    },\n};\nfunction getWindow() {\n    const win = typeof window !== 'undefined' ? window : {};\n    extend(win, ssrWindow);\n    return win;\n}\n\n\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ getBreakpoint)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nfunction getBreakpoint(breakpoints, base = 'window', containerEl) {\n  if (!breakpoints || base === 'container' && !containerEl) return undefined;\n  let breakpoint = false;\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n  const points = Object.keys(breakpoints).map(point => {\n    if (typeof point === 'string' && point.indexOf('@') === 0) {\n      const minRatio = parseFloat(point.substr(1));\n      const value = currentHeight * minRatio;\n      return {\n        value,\n        point\n      };\n    }\n    return {\n      value: point,\n      point\n    };\n  });\n  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n  for (let i = 0; i < points.length; i += 1) {\n    const {\n      point,\n      value\n    } = points[i];\n    if (base === 'window') {\n      if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n        breakpoint = point;\n      }\n    } else if (value <= containerEl.clientWidth) {\n      breakpoint = point;\n    }\n  }\n  return breakpoint || 'max';\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js\");\n/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ setBreakpoint)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nconst isGridEnabled = (swiper, params) => {\n  return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n  const swiper = this;\n  const {\n    realIndex,\n    initialized,\n    params,\n    el\n  } = swiper;\n  const breakpoints = params.breakpoints;\n  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n  // Get breakpoint for window width and update parameters\n  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n  const breakpointOnlyParams = breakpoint in breakpoints ?