diff --git a/package/jsda/luci-app-clash/Makefile b/package/jsda/luci-app-clash/Makefile index 3308a4121c..82e84c6427 100644 --- a/package/jsda/luci-app-clash/Makefile +++ b/package/jsda/luci-app-clash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-clash -PKG_VERSION:=0.31.0 +PKG_VERSION:=0.33.0 PKG_RELEASE:=1 PKG_MAINTAINER:=frainzy1477 @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/package.mk define Package/luci-app-clash SECTION:=luci CATEGORY:=LuCI - SUBMENU:=3. Applications + SUBMENU:=2. Services TITLE:=LuCI app for clash DEPENDS:=+bash +coreutils-nohup +wget PKGARCH:=all @@ -46,6 +46,7 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DIR) $(1)/etc/clash $(INSTALL_DIR) $(1)/www + $(INSTALL_DIR) $(1)/usr/lib/lua/luci $(INSTALL_DIR) $(1)/usr/share/clash $(INSTALL_DIR) $(1)/usr/share/clash/web $(INSTALL_DIR) $(1)/usr/share/clash/dashboard @@ -63,16 +64,18 @@ define Package/$(PKG_NAME)/install $(INSTALL_BIN) ./root/usr/share/clash/rule.yaml $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/clash_version $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/check_version.sh $(1)/usr/share/clash/ - + $(INSTALL_BIN) ./root/usr/share/clash/check_core_version.sh $(1)/usr/share/clash/ + $(INSTALL_BIN) ./root/usr/share/clash/installed_core.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/web/* $(1)/usr/share/clash/web $(INSTALL_BIN) ./root/usr/share/clash/dashboard/index.html $(1)/usr/share/clash/dashboard/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/main.d32d2df9dcc55f57282d.css $(1)/usr/share/clash/dashboard/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/main.71cb9fd91422722c5ceb.css $(1)/usr/share/clash/dashboard/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/img/33343e6117c37aaef8886179007ba6b5.png $(1)/usr/share/clash/dashboard/img/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/img/logo.png $(1)/www/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/1.bundle.d32d2df9dcc55f57282d.min.js $(1)/usr/share/clash/dashboard/js/ - $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/bundle.d32d2df9dcc55f57282d.min.js $(1)/usr/share/clash/dashboard/js/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/1.bundle.71cb9fd91422722c5ceb.min.js $(1)/usr/share/clash/dashboard/js/ + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/js/bundle.71cb9fd91422722c5ceb.min.js $(1)/usr/share/clash/dashboard/js/ + $(INSTALL_DATA) ./luasrc/clash.lua $(1)/usr/lib/lua/luci/ $(INSTALL_DATA) ./luasrc/controller/*.lua $(1)/usr/lib/lua/luci/controller/ $(INSTALL_DATA) ./luasrc/model/cbi/clash/*.lua $(1)/usr/lib/lua/luci/model/cbi/clash/ $(INSTALL_DATA) ./luasrc/view/clash/* $(1)/usr/lib/lua/luci/view/clash/ diff --git a/package/jsda/luci-app-clash/luasrc/clash.lua b/package/jsda/luci-app-clash/luasrc/clash.lua new file mode 100644 index 0000000000..9099b944fb --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/clash.lua @@ -0,0 +1,244 @@ +--[[ +LuCI - Filesystem tools + +Description: +A module offering often needed filesystem manipulation functions + +FileId: +$Id$ + +License: +Copyright 2008 Steven Barth + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +local io = require "io" +local os = require "os" +local ltn12 = require "luci.ltn12" +local fs = require "nixio.fs" +local nutil = require "nixio.util" + +local type = type + +--- LuCI filesystem library. +module "luci.clash" + +--- Test for file access permission on given path. +-- @class function +-- @name access +-- @param str String value containing the path +-- @return Number containing the return code, 0 on sucess or nil on error +-- @return String containing the error description (if any) +-- @return Number containing the os specific errno (if any) +access = fs.access + +--- Evaluate given shell glob pattern and return a table containing all matching +-- file and directory entries. +-- @class function +-- @name glob +-- @param filename String containing the path of the file to read +-- @return Table containing file and directory entries or nil if no matches +-- @return String containing the error description (if no matches) +-- @return Number containing the os specific errno (if no matches) +function glob(...) + local iter, code, msg = fs.glob(...) + if iter then + return nutil.consume(iter) + else + return nil, code, msg + end +end + +--- Checks wheather the given path exists and points to a regular file. +-- @param filename String containing the path of the file to test +-- @return Boolean indicating wheather given path points to regular file +function isfile(filename) + return fs.stat(filename, "type") == "reg" +end + +--- Checks wheather the given path exists and points to a directory. +-- @param dirname String containing the path of the directory to test +-- @return Boolean indicating wheather given path points to directory +function isdirectory(dirname) + return fs.stat(dirname, "type") == "dir" +end + +--- Read the whole content of the given file into memory. +-- @param filename String containing the path of the file to read +-- @return String containing the file contents or nil on error +-- @return String containing the error message on error +readfile = fs.readfile + +--- Write the contents of given string to given file. +-- @param filename String containing the path of the file to read +-- @param data String containing the data to write +-- @return Boolean containing true on success or nil on error +-- @return String containing the error message on error +writefile = fs.writefile + +--- Copies a file. +-- @param source Source file +-- @param dest Destination +-- @return Boolean containing true on success or nil on error +copy = fs.datacopy + +--- Renames a file. +-- @param source Source file +-- @param dest Destination +-- @return Boolean containing true on success or nil on error +rename = fs.move + +--- Get the last modification time of given file path in Unix epoch format. +-- @param path String containing the path of the file or directory to read +-- @return Number containing the epoch time or nil on error +-- @return String containing the error description (if any) +-- @return Number containing the os specific errno (if any) +function mtime(path) + return fs.stat(path, "mtime") +end + +--- Set the last modification time of given file path in Unix epoch format. +-- @param path String containing the path of the file or directory to read +-- @param mtime Last modification timestamp +-- @param atime Last accessed timestamp +-- @return 0 in case of success nil on error +-- @return String containing the error description (if any) +-- @return Number containing the os specific errno (if any) +function utime(path, mtime, atime) + return fs.utimes(path, atime, mtime) +end + +--- Return the last element - usually the filename - from the given path with +-- the directory component stripped. +-- @class function +-- @name basename +-- @param path String containing the path to strip +-- @return String containing the base name of given path +-- @see dirname +basename = fs.basename + +--- Return the directory component of the given path with the last element +-- stripped of. +-- @class function +-- @name dirname +-- @param path String containing the path to strip +-- @return String containing the directory component of given path +-- @see basename +dirname = fs.dirname + +--- Return a table containing all entries of the specified directory. +-- @class function +-- @name dir +-- @param path String containing the path of the directory to scan +-- @return Table containing file and directory entries or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +function dir(...) + local iter, code, msg = fs.dir(...) + if iter then + local t = nutil.consume(iter) + t[#t+1] = "." + t[#t+1] = ".." + return t + else + return nil, code, msg + end +end + +--- Create a new directory, recursively on demand. +-- @param path String with the name or path of the directory to create +-- @param recursive Create multiple directory levels (optional, default is true) +-- @return Number with the return code, 0 on sucess or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +function mkdir(path, recursive) + return recursive and fs.mkdirr(path) or fs.mkdir(path) +end + +--- Remove the given empty directory. +-- @class function +-- @name rmdir +-- @param path String containing the path of the directory to remove +-- @return Number with the return code, 0 on sucess or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +rmdir = fs.rmdir + +local stat_tr = { + reg = "regular", + dir = "directory", + lnk = "link", + chr = "character device", + blk = "block device", + fifo = "fifo", + sock = "socket" +} +--- Get information about given file or directory. +-- @class function +-- @name stat +-- @param path String containing the path of the directory to query +-- @return Table containing file or directory properties or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +function stat(path, key) + local data, code, msg = fs.stat(path) + if data then + data.mode = data.modestr + data.type = stat_tr[data.type] or "?" + end + return key and data and data[key] or data, code, msg +end + +--- Set permissions on given file or directory. +-- @class function +-- @name chmod +-- @param path String containing the path of the directory +-- @param perm String containing the permissions to set ([ugoa][+-][rwx]) +-- @return Number with the return code, 0 on sucess or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +chmod = fs.chmod + +--- Create a hard- or symlink from given file (or directory) to specified target +-- file (or directory) path. +-- @class function +-- @name link +-- @param path1 String containing the source path to link +-- @param path2 String containing the destination path for the link +-- @param symlink Boolean indicating wheather to create a symlink (optional) +-- @return Number with the return code, 0 on sucess or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +function link(src, dest, sym) + return sym and fs.symlink(src, dest) or fs.link(src, dest) +end + +--- Remove the given file. +-- @class function +-- @name unlink +-- @param path String containing the path of the file to remove +-- @return Number with the return code, 0 on sucess or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +unlink = fs.unlink + +--- Retrieve target of given symlink. +-- @class function +-- @name readlink +-- @param path String containing the path of the symlink to read +-- @return String containing the link target or nil on error +-- @return String containing the error description on error +-- @return Number containing the os specific errno on error +readlink = fs.readlink diff --git a/package/jsda/luci-app-clash/luasrc/controller/clash.lua b/package/jsda/luci-app-clash/luasrc/controller/clash.lua index 4eaf28cb95..cf2ce94474 100644 --- a/package/jsda/luci-app-clash/luasrc/controller/clash.lua +++ b/package/jsda/luci-app-clash/luasrc/controller/clash.lua @@ -16,6 +16,7 @@ function index() entry({"admin", "services", "clash", "config"},cbi("clash/config"),_("Config"), 140).leaf = true entry({"admin","services","clash","status"},call("action_status")).leaf=true entry({"admin", "services", "clash", "log"},cbi("clash/log"),_("Logs"), 150).leaf = true + entry({"admin", "services", "clash", "update"},cbi("clash/update"),_("Update"), 160).leaf = true entry({"admin","services","clash","check_status"},call("check_status")).leaf=true @@ -44,6 +45,10 @@ local function check_version() return luci.sys.exec("sh /usr/share/clash/check_version.sh") end +local function check_core() + return luci.sys.exec("sh /usr/share/clash/check_core_version.sh") +end + local function current_version() return luci.sys.exec("sed -n 1p /usr/share/clash/clash_version") end @@ -52,12 +57,23 @@ local function new_version() return luci.sys.exec("sed -n 1p /usr/share/clash/new_version") end +local function new_core_version() + return luci.sys.exec("sed -n 1p /usr/share/clash/new_core_version") +end + +local function clash_core() + return luci.sys.exec("sh /usr/share/clash/installed_core.sh && sed -n 1p /usr/share/clash/installed_core") +end + function check_status() luci.http.prepare_content("application/json") luci.http.write_json({ check_version = check_version(), + check_core = check_core(), current_version = current_version(), - new_version = new_version() + new_version = new_version(), + clash_core = clash_core(), + new_core_version = new_core_version() }) end @@ -70,7 +86,9 @@ function action_status() dash_port = dash_port(), current_version = current_version(), new_version = new_version(), - dash_pass = dash_pass() + dash_pass = dash_pass(), + clash_core = clash_core(), + new_core_version = new_core_version() }) end diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua index dfe08073c7..0cc574d4c8 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/client.lua @@ -34,6 +34,11 @@ o:value("v2rayn2clash", translate("v2rayn2clash")) o:value("surge2clash", translate("surge2clash")) o.description = translate("Select Subcription Type, enter only your subcription url without https://tgbot.lbyczf.com/*?") +md = s:option(Flag, "cusrule", translate("Enabled Custom Rule")) +md.default = 1 +md.rmempty = false +md.description = translate("Enabled Custom Rule") +md:depends("subcri", 'v2rayn2clash') o = s:option(Value, "subscribe_url") o.title = translate("Subcription Url") diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua index ddf3d0f317..5c13f62472 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/config.lua @@ -5,7 +5,7 @@ local HTTP = require "luci.http" local DISP = require "luci.dispatcher" local UTIL = require "luci.util" local uci = require("luci.model.uci").cursor() - +local fs = require "luci.clash" local http = luci.http ful = Form("upload", nil) @@ -83,5 +83,34 @@ o.write = function() os.execute("rm -rf /etc/clash/config.yaml") end +o = s:option(Button, "Download") +o.inputtitle = translate("Download Config") +o.inputstyle = "apply" +o.write = function () + local sPath, sFile, fd, block + sPath = "/etc/clash/config.yaml" + sFile = NXFS.basename(sPath) + if fs.isdirectory(sPath) then + fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") + sFile = sFile .. ".tar.gz" + else + fd = nixio.open(sPath, "r") + end + if not fd then + return + end + HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) + HTTP.prepare_content("application/octet-stream") + while true do + block = fd:read(nixio.const.buffersize) + if (not block) or (#block ==0) then + break + else + HTTP.write(block) + end + end + fd:close() + HTTP.close() +end return ful , m diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua index 5b8012b7c1..e00f3ebba6 100644 --- a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/dns.lua @@ -28,7 +28,7 @@ md.description = translate("Enabling Custom DNS will Overwrite your config.yaml local dns = "/usr/share/clash/dns.yaml" o = s:option(TextValue, "dns",translate("Modify yaml DNS")) o.template = "clash/tvalue" -o.rows = 25 +o.rows = 26 o.wrap = "off" o.cfgvalue = function(self, section) return NXFS.readfile(dns) or "" diff --git a/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua new file mode 100644 index 0000000000..4d96538643 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/model/cbi/clash/update.lua @@ -0,0 +1,16 @@ + +local m +local sys = require "luci.sys" +local uci = luci.model.uci.cursor() + +ful = Form("upload", nil) +ful.reset = false +ful.submit = false + + +m = Map("clash") +m:section(SimpleSection).template = "clash/update" + + +return m, ful + diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/status.htm b/package/jsda/luci-app-clash/luasrc/view/clash/status.htm index 06f0bc0e15..88abf20849 100644 --- a/package/jsda/luci-app-clash/luasrc/view/clash/status.htm +++ b/package/jsda/luci-app-clash/luasrc/view/clash/status.htm @@ -26,8 +26,8 @@
- - + +
<%:Global IP%>  :  <%:Google%> : <%:Collecting data...%><%:Youtube%>  : <%:Collecting data...%>
<%:Domestic IP%>  :  <%:Baidu%> : <%:Collecting data...%> <%:Taobao%>  : <%:Collecting data...%>
<%:Global IP%>  : <%:Checking...%> <%:Google%> : <%:Collecting data...%><%:Youtube%>  : <%:Collecting data...%>
<%:Domestic IP%>  : <%:Checking...%> <%:Baidu%> : <%:Collecting data...%> <%:Taobao%>  : <%:Collecting data...%>
@@ -59,7 +59,17 @@ let IP = { }).catch(error => { throw error; }), - + parseIPIpip: (ip, elID) => { + IP.get(`https://api.skk.moe/network/parseIp/ipip/${ip}`, 'json') + .then(resp => { + let x = ''; + for (let i of resp.data) { + x += (i !== '') ? `${i} ` : ''; + } + document.getElementById(elID).innerHTML = x; + //$$.getElementById(elID).innerHTML = `${resp.data.country} ${resp.data.regionName} ${resp.data.city} ${resp.data.isp}`; + }) + }, getIpipnetIP: () => { IP.get(`https://myip.ipip.net/?z=${random}`, 'text') @@ -68,16 +78,20 @@ let IP = { document.getElementById('d-ip').innerHTML = `${data[0]} ${data[1]}`; }); }, - - getIpsbIP: (data) => { - document.getElementById('ip-gb').innerHTML = data.address; - document.getElementById('ip-geo').innerHTML = `${data.country} ${data.province} ${data.city} ${data.isp.name}` - }, - + getIpifyIP: () => { + IP.get(`https://api.ipify.org/?format=json&z=${random}`, 'json') + .then(resp => { + document.getElementById('ip-ipify').innerHTML = resp.data.ip; + return resp.data.ip; + }) + .then(ip => { + IP.parseIPIpip(ip, 'ip-ipify-ipip'); + }) + } + } -IP.getIpipnetIP(); var HTTP = { @@ -101,6 +115,26 @@ var HTTP = { } + function Load() + { + var tbip = document.getElementsByTagName('HEAD').item(0); + var tbipScript= document.createElement("script"); + tbipScript.async = "async"; + tbipScript.src='https://myip.ipip.net/?z=${random}'; + tbip.appendChild( tbipScript); + + var sbip = document.getElementsByTagName('HEAD').item(0); + var sbipScript= document.createElement("script"); + sbipScript.async = "async"; + sbipScript.src='https://api.skk.moe/network/parseIp/ipip'; + sbip.appendChild( sbipScript); + + const $$ = document; + random = parseInt(Math.random() * 100000000); + IP.getIpifyIP(); + IP.getIpipnetIP(); + setTimeout("Load()",1000*8); + } var web = document.getElementById('_web'); var webb = document.getElementById('_webb'); var clash = document.getElementById('_clash'); @@ -130,86 +164,24 @@ var HTTP = { }); - XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { + XHR.poll(1, '<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { if ( x && x.status == 200 ) { + IP.getIpifyIP(); IP.getIpipnetIP(); - getip(); + //getip(); } }); - - XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', status.current_version, function(x, status) { + XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', null, function(x, status) { if ( x && x.status == 200 ) { - version.innerHTML = status.current_version ? '<%:Current Version%>'+' : v'+status.current_version+'
' : 'NOT SET'; - + version.innerHTML = status.current_version ? '<%:Current Version%>'+' : v'+status.current_version+' ' : 'NOT SET'; + } }); -function version_check(btn) -{ - btn.disabled = true; - btn.value = '<%:Checking...%>'; - XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "check_status")%>', null, function(x, status) { - if(status.new_version > status.current_version) - { - version.innerHTML =''+'<%:New Version%>'+' : v'+status.new_version+'
' + '' + '   ' + '
'; - } - - else if(status.new_version==0) - { - version.innerHTML =''+'<%:Check Error!%>'+''+'
'; - - } - else if(status.current_version >= status.new_version) - { - version.innerHTML =''+'<%:No New Version%>'+''+'
'; - } - return false; - }); -} -function download_update(btn) -{ -XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "check_status")%>', null, function(x, status) { - btn.disabled = true; - btn.value = '<%:Download%>'; - url='https://github.com/frainzy1477/luci-app-clash/releases/download/v'+status.new_version+'/luci-app-clash_'+status.new_version+'-1_all.ipk'; - window.open(url); - btn.disabled = false; - return false; - }); -} - - - - -function check_return(btn) -{ - XHR.get('<%=luci.dispatcher.build_url("admin", "services", "clash", "status")%>', status.current_version, function(x, status) { - btn.disabled = true; - btn.value = '<%:Return Check%>'; - version.innerHTML = ''+'<%:Current Version%>'+' : v'+status.current_version+''+'
'; - }); - -} //]]> - - - - - diff --git a/package/jsda/luci-app-clash/luasrc/view/clash/update.htm b/package/jsda/luci-app-clash/luasrc/view/clash/update.htm new file mode 100644 index 0000000000..59eec39bc9 --- /dev/null +++ b/package/jsda/luci-app-clash/luasrc/view/clash/update.htm @@ -0,0 +1,159 @@ +
+ + + + + + + + + + + + + + + + + + + + +
<%:App Name%><%:Installed Version%><%:Check Update%>
Clash <%:Collecting data...%>
Luci-app-clash <%:Collecting data...%>
+
+ + + + + + + + + + diff --git a/package/jsda/luci-app-clash/po/zh-cn/clash.po b/package/jsda/luci-app-clash/po/zh-cn/clash.po index 9b8479d354..16e185d536 100644 --- a/package/jsda/luci-app-clash/po/zh-cn/clash.po +++ b/package/jsda/luci-app-clash/po/zh-cn/clash.po @@ -1,6 +1,12 @@ msgid "Update Config" msgstr "更新配置" +msgid "Enabled Custom Rule" +msgstr "启用自定义规则" + +msgid "Download Config" +msgstr "下载配置" + msgid "Enable/Start/Restart Client" msgstr "启用/启动/重新启动客户端" @@ -43,8 +49,8 @@ msgstr "socks代理端口" msgid "Redir Port" msgstr "redir代理端口" -msgid "No New Version" -msgstr "已安装最新本" +msgid "No Update | Return" +msgstr "已安装最新本 | 返回" msgid "Log level" msgstr "日志级别" @@ -61,24 +67,33 @@ msgstr "下载新版本" msgid "Checking..." msgstr "正在检查..." +msgid "Not Installed" +msgstr "未安装" + +msgid "Installed Version" +msgstr "已安装版本" + +msgid "App Name" +msgstr "应用程序名称" + msgid "Rule-based Custom Proxy Client" msgstr "基于规则的自定义代理客户端" -msgid "Check Error!" -msgstr "检查错误" - -msgid "New Version" -msgstr "最新版本" +msgid "Error Occured | Return" +msgstr "检查错误 | 返回" msgid "Current Version" msgstr "当前版本" -msgid "Return Check" +msgid "Return" msgstr "返回检查" msgid "Check Update" msgstr "检查更新" +msgid "Check" +msgstr "检查" + msgid "DNS Forwarding" msgstr "DNS转发" diff --git a/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb b/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb index dcc9f29507..f3f93b91d1 100644 Binary files a/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb and b/package/jsda/luci-app-clash/root/etc/clash/Country.mmdb differ diff --git a/package/jsda/luci-app-clash/root/etc/clash/config.yaml b/package/jsda/luci-app-clash/root/etc/clash/config.yaml new file mode 100644 index 0000000000..92be6b6ea1 --- /dev/null +++ b/package/jsda/luci-app-clash/root/etc/clash/config.yaml @@ -0,0 +1,1912 @@ +port: 7890 +socks-port: 7891 +redir-port: 7892 +allow-lan: true +mode: Rule +log-level: info +external-controller: 0.0.0.0:1477 +secret: '123456' +external-ui: /usr/share/clash/dashboard + + +#experimental: +# ignore-resolve-fail: true + +#local SOCKS5/HTTP(S) server +#authentication: +# - "user1:pass1" +# - "user2:pass2" + +dns: + enable: true + listen: 0.0.0.0:5300 + enhanced-mode: fake-ip + # # experimental hosts, support wildcard + # (e.g. *.clash.dev Even *.foo.*.example.com) + # # static domain has a higher priority + # than wildcard domain (foo.example.com > *.example.com) + # # NOTE: hosts don't work with `fake-ip` + # hosts: + # '*.clash.dev': 127.0.0.1 + # 'alpha.clash.dev': '::1' + nameserver: + - 119.29.29.29 + - 114.114.114.114 + - 114.114.115.115 + - tls://dns.rubyfish.cn:853 + +Proxy: +- {"name":"[SS] HK-A","type":"ss","server":"sv3.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] HK-B, NF","type":"ss","server":"sv25.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] HK-C, NF","type":"ss","server":"sv26.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] JP-A, NF","type":"ss","server":"sv2.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] JP-B","type":"ss","server":"sv10.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] JP-C, NF","type":"ss","server":"sv18.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] SG-A, NF","type":"ss","server":"sv21.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] SG-B, NF","type":"ss","server":"sv8.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] UK, NF","type":"ss","server":"sv6.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] US-A","type":"ss","server":"sv1.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] US-B","type":"ss","server":"sv9.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[SS] US-C","type":"ss","server":"sv7.xx.net","port":10001,"cipher":"aes-256-gcm","password":"uBl2kZ","udp":true,"plugin":"obfs","plugin-opts":{"mode":"http","host":"jd.hk"}} +- {"name":"[V2] HK-A","type":"vmess","server":"sv3.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] HK-B, NF","type":"vmess","server":"sv25.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] HK-C, NF","type":"vmess","server":"sv26.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] JP-A, NF","type":"vmess","server":"sv2.xx.net","port":2333,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] JP-B","type":"vmess","server":"sv10.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] JP-C, NF","type":"vmess","server":"sv18.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] SG-A, NF","type":"vmess","server":"sv21.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] SG-B, NF","type":"vmess","server":"sv8.xx.net","port":2333,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] UK, NF","type":"vmess","server":"sv6.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] US-A","type":"vmess","server":"sv1.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] US-B","type":"vmess","server":"sv9.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} +- {"name":"[V2] US-C","type":"vmess","server":"sv7.xx.net","port":8080,"uuid":"0320c5ae-0abe-322f-aba9-58fcab5f36ce","alterId":2,"cipher":"auto"} + + +Proxy Group: +- { name: "Proxy", type: select, proxies: ["[SS] HK-A","[SS] HK-B, NF","[SS] HK-C, NF","[SS] JP-A, NF","[SS] JP-B","[SS] JP-C, NF","[SS] SG-A, NF","[SS] SG-B, NF","[SS] UK, NF","[SS] US-A","[SS] US-B","[SS] US-C","[V2] HK-A","[V2] HK-B, NF","[V2] HK-C, NF","[V2] JP-A, NF","[V2] JP-B","[V2] JP-C, NF","[V2] SG-A, NF","[V2] SG-B, NF","[V2] UK, NF","[V2] US-A","[V2] US-B","[V2] US-C"] } +- { name: "Others", type: select, proxies: ["Proxy","DIRECT"]} +- { name: "Media", type: select, proxies: ["Proxy","DIRECT"]} +- { name: "AsianTV", type: select, proxies: ["DIRECT","Proxy"]} +- { name: "AdBlock", type: select, proxies: ["REJECT"]} + + +Rule: +- DOMAIN,gs.apple.com,Proxy +- DOMAIN-SUFFIX,mzstatic.com,DIRECT +- DOMAIN-SUFFIX,akadns.net,DIRECT +- DOMAIN-SUFFIX,aaplimg.com,DIRECT +- DOMAIN-SUFFIX,cdn-apple.com,DIRECT + +- DOMAIN,itunes.apple.com, DIRECT +- DOMAIN,beta.itunes.apple.com, DIRECT +- DOMAIN-SUFFIX,apple.com, DIRECT +- DOMAIN-SUFFIX,icloud.com,DIRECT +- DOMAIN-SUFFIX,icloud-content.com,DIRECT +- DOMAIN,e.crashlytics.com,REJECT +- DOMAIN-KEYWORD,zjhu,DIRECT + +- DOMAIN-KEYWORD,bilibili,DIRECT +- DOMAIN-SUFFIX,acgvideo.com,DIRECT +- DOMAIN-SUFFIX,hdslb.com,DIRECT + +- DOMAIN-KEYWORD,qiyi,DIRECT +- DOMAIN-SUFFIX,qy.net,DIRECT +- IP-CIDR,101.227.0.0/16,DIRECT +- IP-CIDR,101.224.0.0/13,DIRECT +- IP-CIDR,119.176.0.0/12,DIRECT + +- DOMAIN-SUFFIX,api.mob.app.letv.com,DIRECT + +- DOMAIN-KEYWORD,nowtv100,DIRECT +- DOMAIN-KEYWORD,rthklive,DIRECT +- DOMAIN-SUFFIX,mytvsuper.com,DIRECT +- DOMAIN-SUFFIX,tvb.com,DIRECT + +- DOMAIN-SUFFIX,music.126.net,DIRECT +- DOMAIN-SUFFIX,music.163.com,DIRECT + +- DOMAIN-SUFFIX,vv.video.qq.com,DIRECT + +- IP-CIDR,106.11.0.0/16,DIRECT + + +- DOMAIN-SUFFIX,edgedatg.com,Proxy +- DOMAIN-SUFFIX,go.com,Proxy + +- DOMAIN,linear-abematv.akamaized.net,Proxy +- DOMAIN-SUFFIX,abema.io,Proxy +- DOMAIN-SUFFIX,abema.tv,Proxy +- DOMAIN-SUFFIX,akamaized.net,Proxy +- DOMAIN-SUFFIX,ameba.jp,Proxy +- DOMAIN-SUFFIX,hayabusa.io,Proxy + +- DOMAIN-SUFFIX,amazonaws.com,Proxy + +- DOMAIN-SUFFIX,bahamut.com.tw,Proxy +- DOMAIN-SUFFIX,gamer.com.tw,Proxy +- DOMAIN-SUFFIX,hinet.net,Proxy + +- DOMAIN-KEYWORD,bbcfmt,Proxy +- DOMAIN-KEYWORD,co.uk,Proxy +- DOMAIN-KEYWORD,uk-live,Proxy +- DOMAIN-SUFFIX,bbc.co,Proxy +- DOMAIN-SUFFIX,bbc.co.uk,Proxy +- DOMAIN-SUFFIX,bbc.com,Proxy +- DOMAIN-SUFFIX,bbci.co,Proxy +- DOMAIN-SUFFIX,bbci.co.uk,Proxy + +- DOMAIN-SUFFIX,chocotv.com.tw,Proxy + +- DOMAIN-KEYWORD,epicgames,Proxy +- DOMAIN-SUFFIX,helpshift.com,Proxy + +- DOMAIN-KEYWORD,foxplus,Proxy +- DOMAIN-SUFFIX,config.fox.com,Proxy +- DOMAIN-SUFFIX,emome.net,Proxy +- DOMAIN-SUFFIX,fox.com,Proxy +- DOMAIN-SUFFIX,foxdcg.com,Proxy +- DOMAIN-SUFFIX,foxnow.com,Proxy +- DOMAIN-SUFFIX,foxplus.com,Proxy +- DOMAIN-SUFFIX,foxplay.com,Proxy +- DOMAIN-SUFFIX,ipinfo.io,Proxy +- DOMAIN-SUFFIX,mstage.io,Proxy +- DOMAIN-SUFFIX,now.com,Proxy +- DOMAIN-SUFFIX,theplatform.com,Proxy + +- DOMAIN-SUFFIX,hbo.com,Proxy +- DOMAIN-SUFFIX,hbogo.com,Proxy + +- DOMAIN-SUFFIX,hbogoasia.hk,Proxy + +- DOMAIN-SUFFIX,happyon.jp,Proxy +- DOMAIN-SUFFIX,hulu.com,Proxy +- DOMAIN-SUFFIX,huluim.com,Proxy + +- DOMAIN-SUFFIX,imkan.tv,Proxy + +- DOMAIN-SUFFIX,joox.com,Proxy + +- DOMAIN-SUFFIX,netflix.com,Proxy +- DOMAIN-SUFFIX,netflix.net,Proxy +- DOMAIN-SUFFIX,nflxext.com,Proxy +- DOMAIN-SUFFIX,nflximg.com,Proxy +- DOMAIN-SUFFIX,nflximg.net,Proxy +- DOMAIN-SUFFIX,nflxso.net,Proxy +- DOMAIN-SUFFIX,nflxvideo.net,Proxy + +- DOMAIN-KEYWORD,spotify,Proxy +- DOMAIN-SUFFIX,scdn.co,Proxy +- DOMAIN-SUFFIX,spoti.fi,Proxy + +- DOMAIN-SUFFIX,viu.tv,Proxy + +- DOMAIN-KEYWORD,youtube,Proxy +- DOMAIN-SUFFIX,googlevideo.com,Proxy +- DOMAIN-SUFFIX,gvt2.com,Proxy +- DOMAIN-SUFFIX,youtu.be,Proxy + + +- DOMAIN-SUFFIX,cn,DIRECT + +- DOMAIN-SUFFIX,126.com,DIRECT +- DOMAIN-SUFFIX,126.net,DIRECT +- DOMAIN-SUFFIX,127.net,DIRECT +- DOMAIN-SUFFIX,163.com,DIRECT +- DOMAIN-SUFFIX,360buyimg.com,DIRECT +- DOMAIN-SUFFIX,36kr.com,DIRECT +- DOMAIN-SUFFIX,acfun.tv,DIRECT +- DOMAIN-SUFFIX,air-matters.com,DIRECT +- DOMAIN-SUFFIX,aixifan.com,DIRECT +- DOMAIN-SUFFIX,akamaized.net,DIRECT +- DOMAIN-KEYWORD,alicdn,DIRECT +- DOMAIN-KEYWORD,alipay,DIRECT +- DOMAIN-KEYWORD,taobao,DIRECT +- DOMAIN-SUFFIX,amap.com,DIRECT +- DOMAIN-SUFFIX,autonavi.com,DIRECT +- DOMAIN-KEYWORD,baidu,DIRECT +- DOMAIN-SUFFIX,bdimg.com,DIRECT +- DOMAIN-SUFFIX,bdstatic.com,DIRECT +- DOMAIN-SUFFIX,bilibili.com,DIRECT +- DOMAIN-SUFFIX,caiyunapp.com,DIRECT +- DOMAIN-SUFFIX,clouddn.com,DIRECT +- DOMAIN-SUFFIX,cnbeta.com,DIRECT +- DOMAIN-SUFFIX,cnbetacdn.com,DIRECT +- DOMAIN-SUFFIX,cootekservice.com,DIRECT +- DOMAIN-SUFFIX,csdn.net,DIRECT +- DOMAIN-SUFFIX,ctrip.com,DIRECT +- DOMAIN-SUFFIX,dgtle.com,DIRECT +- DOMAIN-SUFFIX,dianping.com,DIRECT +- DOMAIN-SUFFIX,douban.com,DIRECT +- DOMAIN-SUFFIX,doubanio.com,DIRECT +- DOMAIN-SUFFIX,duokan.com,DIRECT +- DOMAIN-SUFFIX,easou.com,DIRECT +- DOMAIN-SUFFIX,ele.me,DIRECT +- DOMAIN-SUFFIX,feng.com,DIRECT +- DOMAIN-SUFFIX,fir.im,DIRECT +- DOMAIN-SUFFIX,frdic.com,DIRECT +- DOMAIN-SUFFIX,g-cores.com,DIRECT +- DOMAIN-SUFFIX,godic.net,DIRECT +- DOMAIN-SUFFIX,gtimg.com,DIRECT +- DOMAIN,cdn.hockeyapp.net,DIRECT +- DOMAIN-SUFFIX,hongxiu.com,DIRECT +- DOMAIN-SUFFIX,hxcdn.net,DIRECT +- DOMAIN-SUFFIX,iciba.com,DIRECT +- DOMAIN-SUFFIX,ifeng.com,DIRECT +- DOMAIN-SUFFIX,ifengimg.com,DIRECT +- DOMAIN-SUFFIX,ipip.net,DIRECT +- DOMAIN-SUFFIX,iqiyi.com,DIRECT +- DOMAIN-SUFFIX,jd.com,DIRECT +- DOMAIN-SUFFIX,jianshu.com,DIRECT +- DOMAIN-SUFFIX,knewone.com,DIRECT +- DOMAIN-SUFFIX,le.com,DIRECT +- DOMAIN-SUFFIX,lecloud.com,DIRECT +- DOMAIN-SUFFIX,lemicp.com,DIRECT +- DOMAIN-SUFFIX,luoo.net,DIRECT +- DOMAIN-SUFFIX,meituan.com,DIRECT +- DOMAIN-SUFFIX,meituan.net,DIRECT +- DOMAIN-SUFFIX,mi.com,DIRECT +- DOMAIN-SUFFIX,miaopai.com,DIRECT +- DOMAIN-SUFFIX,microsoft.com,DIRECT +- DOMAIN-SUFFIX,microsoftonline.com,DIRECT +- DOMAIN-SUFFIX,miui.com,DIRECT +- DOMAIN-SUFFIX,miwifi.com,DIRECT +- DOMAIN-SUFFIX,mob.com,DIRECT +- DOMAIN-SUFFIX,netease.com,DIRECT +- DOMAIN-KEYWORD,officecdn,DIRECT +- DOMAIN-SUFFIX,oschina.net,DIRECT +- DOMAIN-SUFFIX,ppsimg.com,DIRECT +- DOMAIN-SUFFIX,pstatp.com,DIRECT +- DOMAIN-SUFFIX,qcloud.com,DIRECT +- DOMAIN-SUFFIX,qdaily.com,DIRECT +- DOMAIN-SUFFIX,qdmm.com,DIRECT +- DOMAIN-SUFFIX,qhimg.com,DIRECT +- DOMAIN-SUFFIX,qidian.com,DIRECT +- DOMAIN-SUFFIX,qihucdn.com,DIRECT +- DOMAIN-SUFFIX,qiniu.com,DIRECT +- DOMAIN-SUFFIX,qiniucdn.com,DIRECT +- DOMAIN-SUFFIX,qiyipic.com,DIRECT +- DOMAIN-SUFFIX,qq.com,DIRECT +- DOMAIN-SUFFIX,qqurl.com,DIRECT +- DOMAIN-SUFFIX,rarbg.to,DIRECT +- DOMAIN-SUFFIX,rr.tv,DIRECT +- DOMAIN-SUFFIX,ruguoapp.com,DIRECT +- DOMAIN-SUFFIX,segmentfault.com,DIRECT +- DOMAIN-SUFFIX,sinaapp.com,DIRECT +- DOMAIN-SUFFIX,sogou.com,DIRECT +- DOMAIN-SUFFIX,sogoucdn.com,DIRECT +- DOMAIN-SUFFIX,sohu.com,DIRECT +- DOMAIN-SUFFIX,soku.com,DIRECT +- DOMAIN-SUFFIX,speedtest.net,DIRECT +- DOMAIN-SUFFIX,sspai.com,DIRECT +- DOMAIN-SUFFIX,suning.com,DIRECT +- DOMAIN-SUFFIX,taobao.com,DIRECT +- DOMAIN-SUFFIX,tenpay.com,DIRECT +- DOMAIN-SUFFIX,tmall.com,DIRECT +- DOMAIN-SUFFIX,tudou.com,DIRECT +- DOMAIN-SUFFIX,umetrip.com,DIRECT +- DOMAIN-SUFFIX,upaiyun.com,DIRECT +- DOMAIN-SUFFIX,upyun.com,DIRECT +- DOMAIN-SUFFIX,v2ex.com,DIRECT +- DOMAIN-SUFFIX,veryzhun.com,DIRECT +- DOMAIN-SUFFIX,weather.com,DIRECT +- DOMAIN-SUFFIX,weibo.com,DIRECT +- DOMAIN-SUFFIX,xiami.com,DIRECT +- DOMAIN-SUFFIX,xiami.net,DIRECT +- DOMAIN-SUFFIX,xiaomicp.com,DIRECT +- DOMAIN-SUFFIX,ximalaya.com,DIRECT +- DOMAIN-SUFFIX,xmcdn.com,DIRECT +- DOMAIN-SUFFIX,xunlei.com,DIRECT +- DOMAIN-SUFFIX,yhd.com,DIRECT +- DOMAIN-SUFFIX,yihaodianimg.com,DIRECT +- DOMAIN-SUFFIX,yinxiang.com,DIRECT +- DOMAIN-SUFFIX,ykimg.com,DIRECT +- DOMAIN-SUFFIX,youdao.com,DIRECT +- DOMAIN-SUFFIX,youku.com,DIRECT +- DOMAIN-SUFFIX,zealer.com,DIRECT +- DOMAIN-SUFFIX,zhihu.com,DIRECT +- DOMAIN-SUFFIX,zhimg.com,DIRECT + +- DOMAIN-KEYWORD,amazon,Proxy +- DOMAIN-KEYWORD,google,Proxy +- DOMAIN-KEYWORD,gmail,Proxy +- DOMAIN-KEYWORD,youtube,Proxy +- DOMAIN-KEYWORD,facebook,Proxy +- DOMAIN-SUFFIX,fb.me,Proxy +- DOMAIN-SUFFIX,fbcdn.net,Proxy +- DOMAIN-KEYWORD,twitter,Proxy +- DOMAIN-KEYWORD,instagram,Proxy +- DOMAIN-KEYWORD,dropbox,Proxy +- DOMAIN-SUFFIX,twimg.com,Proxy +- DOMAIN-KEYWORD,blogspot,Proxy +- DOMAIN-SUFFIX,youtu.be,Proxy +- DOMAIN-KEYWORD,whatsapp,Proxy + +- DOMAIN-SUFFIX,9to5mac.com,Proxy +- DOMAIN-SUFFIX,abpchina.org,Proxy +- DOMAIN-SUFFIX,adblockplus.org,Proxy +- DOMAIN-SUFFIX,adobe.com,Proxy +- DOMAIN-SUFFIX,alfredapp.com,Proxy +- DOMAIN-SUFFIX,amplitude.com,Proxy +- DOMAIN-SUFFIX,ampproject.org,Proxy +- DOMAIN-SUFFIX,android.com,Proxy +- DOMAIN-SUFFIX,angularjs.org,Proxy +- DOMAIN-SUFFIX,aolcdn.com,Proxy +- DOMAIN-SUFFIX,apkpure.com,Proxy +- DOMAIN-SUFFIX,appledaily.com,Proxy +- DOMAIN-SUFFIX,appshopper.com,Proxy +- DOMAIN-SUFFIX,appspot.com,Proxy +- DOMAIN-SUFFIX,arcgis.com,Proxy +- DOMAIN-SUFFIX,archive.org,Proxy +- DOMAIN-SUFFIX,armorgames.com,Proxy +- DOMAIN-SUFFIX,aspnetcdn.com,Proxy +- DOMAIN-SUFFIX,att.com,Proxy +- DOMAIN-SUFFIX,awsstatic.com,Proxy +- DOMAIN-SUFFIX,azureedge.net,Proxy +- DOMAIN-SUFFIX,azurewebsites.net,Proxy +- DOMAIN-SUFFIX,bing.com,Proxy +- DOMAIN-SUFFIX,bintray.com,Proxy +- DOMAIN-SUFFIX,bit.com,Proxy +- DOMAIN-SUFFIX,bit.ly,Proxy +- DOMAIN-SUFFIX,bitbucket.org,Proxy +- DOMAIN-SUFFIX,bjango.com,Proxy +- DOMAIN-SUFFIX,bkrtx.com,Proxy +- DOMAIN-SUFFIX,blog.com,Proxy +- DOMAIN-SUFFIX,blogcdn.com,Proxy +- DOMAIN-SUFFIX,blogger.com,Proxy +- DOMAIN-SUFFIX,blogsmithmedia.com,Proxy +- DOMAIN-SUFFIX,blogspot.com,Proxy +- DOMAIN-SUFFIX,blogspot.hk,Proxy +- DOMAIN-SUFFIX,bloomberg.com,Proxy +- DOMAIN-SUFFIX,box.com,Proxy +- DOMAIN-SUFFIX,box.net,Proxy +- DOMAIN-SUFFIX,cachefly.net,Proxy +- DOMAIN-SUFFIX,chromium.org,Proxy +- DOMAIN-SUFFIX,cl.ly,Proxy +- DOMAIN-SUFFIX,cloudflare.com,Proxy +- DOMAIN-SUFFIX,cloudfront.net,Proxy +- DOMAIN-SUFFIX,cloudmagic.com,Proxy +- DOMAIN-SUFFIX,cmail19.com,Proxy +- DOMAIN-SUFFIX,cnet.com,Proxy +- DOMAIN-SUFFIX,cocoapods.org,Proxy +- DOMAIN-SUFFIX,comodoca.com,Proxy +- DOMAIN-SUFFIX,content.office.net,Proxy +- DOMAIN-SUFFIX,crashlytics.com,Proxy +- DOMAIN-SUFFIX,culturedcode.com,Proxy +- DOMAIN-SUFFIX,d.pr,Proxy +- DOMAIN-SUFFIX,danilo.to,Proxy +- DOMAIN-SUFFIX,dayone.me,Proxy +- DOMAIN-SUFFIX,db.tt,Proxy +- DOMAIN-SUFFIX,deskconnect.com,Proxy +- DOMAIN-SUFFIX,digicert.com,Proxy +- DOMAIN-SUFFIX,disq.us,Proxy +- DOMAIN-SUFFIX,disqus.com,Proxy +- DOMAIN-SUFFIX,disquscdn.com,Proxy +- DOMAIN-SUFFIX,dlercloud.com,Proxy +- DOMAIN-SUFFIX,dnsimple.com,Proxy +- DOMAIN-SUFFIX,docker.com,Proxy +- DOMAIN-SUFFIX,dribbble.com,Proxy +- DOMAIN-SUFFIX,droplr.com,Proxy +- DOMAIN-SUFFIX,duckduckgo.com,Proxy +- DOMAIN-SUFFIX,dueapp.com,Proxy +- DOMAIN-SUFFIX,dytt8.net,Proxy +- DOMAIN-SUFFIX,edgecastcdn.net,Proxy +- DOMAIN-SUFFIX,edgekey.net,Proxy +- DOMAIN-SUFFIX,edgesuite.net,Proxy +- DOMAIN-SUFFIX,engadget.com,Proxy +- DOMAIN-SUFFIX,entrust.net,Proxy +- DOMAIN-SUFFIX,eurekavpt.com,Proxy +- DOMAIN-SUFFIX,evernote.com,Proxy +- DOMAIN-SUFFIX,fabric.io,Proxy +- DOMAIN-SUFFIX,fast.com,Proxy +- DOMAIN-SUFFIX,fastly.net,Proxy +- DOMAIN-SUFFIX,fc2.com,Proxy +- DOMAIN-SUFFIX,feedburner.com,Proxy +- DOMAIN-SUFFIX,feedly.com,Proxy +- DOMAIN-SUFFIX,feedsportal.com,Proxy +- DOMAIN-SUFFIX,fiftythree.com,Proxy +- DOMAIN-SUFFIX,firebaseio.com,Proxy +- DOMAIN-SUFFIX,flexibits.com,Proxy +- DOMAIN-SUFFIX,flickr.com,Proxy +- DOMAIN-SUFFIX,flipboard.com,Proxy +- DOMAIN-SUFFIX,g.co,Proxy +- DOMAIN-SUFFIX,gabia.net,Proxy +- DOMAIN-SUFFIX,geni.us,Proxy +- DOMAIN-SUFFIX,gfx.ms,Proxy +- DOMAIN-SUFFIX,ggpht.com,Proxy +- DOMAIN-SUFFIX,ghostnoteapp.com,Proxy +- DOMAIN-SUFFIX,git.io,Proxy +- DOMAIN-KEYWORD,github,Proxy +- DOMAIN-SUFFIX,globalsign.com,Proxy +- DOMAIN-SUFFIX,gmodules.com,Proxy +- DOMAIN-SUFFIX,godaddy.com,Proxy +- DOMAIN-SUFFIX,golang.org,Proxy +- DOMAIN-SUFFIX,gongm.in,Proxy +- DOMAIN-SUFFIX,goo.gl,Proxy +- DOMAIN-SUFFIX,goodreaders.com,Proxy +- DOMAIN-SUFFIX,goodreads.com,Proxy +- DOMAIN-SUFFIX,gravatar.com,Proxy +- DOMAIN-SUFFIX,gstatic.com,Proxy +- DOMAIN-SUFFIX,gvt0.com,Proxy +- DOMAIN-SUFFIX,hockeyapp.net,Proxy +- DOMAIN-SUFFIX,hotmail.com,Proxy +- DOMAIN-SUFFIX,icons8.com,Proxy +- DOMAIN-SUFFIX,ift.tt,Proxy +- DOMAIN-SUFFIX,ifttt.com,Proxy +- DOMAIN-SUFFIX,iherb.com,Proxy +- DOMAIN-SUFFIX,imageshack.us,Proxy +- DOMAIN-SUFFIX,img.ly,Proxy +- DOMAIN-SUFFIX,imgur.com,Proxy +- DOMAIN-SUFFIX,imore.com,Proxy +- DOMAIN-SUFFIX,instapaper.com,Proxy +- DOMAIN-SUFFIX,ipn.li,Proxy +- DOMAIN-SUFFIX,is.gd,Proxy +- DOMAIN-SUFFIX,issuu.com,Proxy +- DOMAIN-SUFFIX,itgonglun.com,Proxy +- DOMAIN-SUFFIX,itun.es,Proxy +- DOMAIN-SUFFIX,ixquick.com,Proxy +- DOMAIN-SUFFIX,j.mp,Proxy +- DOMAIN-SUFFIX,js.revsci.net,Proxy +- DOMAIN-SUFFIX,jshint.com,Proxy +- DOMAIN-SUFFIX,jtvnw.net,Proxy +- DOMAIN-SUFFIX,justgetflux.com,Proxy +- DOMAIN-SUFFIX,kat.cr,Proxy +- DOMAIN-SUFFIX,klip.me,Proxy +- DOMAIN-SUFFIX,libsyn.com,Proxy +- DOMAIN-SUFFIX,licdn.com,Proxy +- DOMAIN-SUFFIX,linkedin.com,Proxy +- DOMAIN-SUFFIX,linode.com,Proxy +- DOMAIN-SUFFIX,lithium.com,Proxy +- DOMAIN-SUFFIX,littlehj.com,Proxy +- DOMAIN-SUFFIX,live.com,Proxy +- DOMAIN-SUFFIX,live.net,Proxy +- DOMAIN-SUFFIX,livefilestore.com,Proxy +- DOMAIN-SUFFIX,llnwd.net,Proxy +- DOMAIN-SUFFIX,macid.co,Proxy +- DOMAIN-SUFFIX,macromedia.com,Proxy +- DOMAIN-SUFFIX,macrumors.com,Proxy +- DOMAIN-SUFFIX,mashable.com,Proxy +- DOMAIN-SUFFIX,mathjax.org,Proxy +- DOMAIN-SUFFIX,medium.com,Proxy +- DOMAIN-SUFFIX,mega.co.nz,Proxy +- DOMAIN-SUFFIX,mega.nz,Proxy +- DOMAIN-SUFFIX,megaupload.com,Proxy +- DOMAIN-SUFFIX,microsofttranslator.com,Proxy +- DOMAIN-SUFFIX,mindnode.com,Proxy +- DOMAIN-SUFFIX,mobile01.com,Proxy +- DOMAIN-SUFFIX,modmyi.com,Proxy +- DOMAIN-SUFFIX,msedge.net,Proxy +- DOMAIN-SUFFIX,myfontastic.com,Proxy +- DOMAIN-SUFFIX,name.com,Proxy +- DOMAIN-SUFFIX,nextmedia.com,Proxy +- DOMAIN-SUFFIX,nsstatic.net,Proxy +- DOMAIN-SUFFIX,nssurge.com,Proxy +- DOMAIN-SUFFIX,nyt.com,Proxy +- DOMAIN-SUFFIX,nytimes.com,Proxy +- DOMAIN-SUFFIX,office365.com,Proxy +- DOMAIN-SUFFIX,omnigroup.com,Proxy +- DOMAIN-SUFFIX,onedrive.com,Proxy +- DOMAIN-SUFFIX,onenote.com,Proxy +- DOMAIN-SUFFIX,ooyala.com,Proxy +- DOMAIN-SUFFIX,openvpn.net,Proxy +- DOMAIN-SUFFIX,openwrt.org,Proxy +- DOMAIN-SUFFIX,orkut.com,Proxy +- DOMAIN-SUFFIX,osxdaily.com,Proxy +- DOMAIN-SUFFIX,outlook.com,Proxy +- DOMAIN-SUFFIX,ow.ly,Proxy +- DOMAIN-SUFFIX,paddleapi.com,Proxy +- DOMAIN-SUFFIX,parallels.com,Proxy +- DOMAIN-SUFFIX,parse.com,Proxy +- DOMAIN-SUFFIX,pdfexpert.com,Proxy +- DOMAIN-SUFFIX,periscope.tv,Proxy +- DOMAIN-SUFFIX,pinboard.in,Proxy +- DOMAIN-SUFFIX,pinterest.com,Proxy +- DOMAIN-SUFFIX,pixelmator.com,Proxy +- DOMAIN-SUFFIX,pixiv.net,Proxy +- DOMAIN-SUFFIX,playpcesor.com,Proxy +- DOMAIN-SUFFIX,playstation.com,Proxy +- DOMAIN-SUFFIX,playstation.com.hk,Proxy +- DOMAIN-SUFFIX,playstation.net,Proxy +- DOMAIN-SUFFIX,playstationnetwork.com,Proxy +- DOMAIN-SUFFIX,pushwoosh.com,Proxy +- DOMAIN-SUFFIX,rime.im,Proxy +- DOMAIN-SUFFIX,servebom.com,Proxy +- DOMAIN-SUFFIX,sfx.ms,Proxy +- DOMAIN-SUFFIX,shadowsocks.org,Proxy +- DOMAIN-SUFFIX,sharethis.com,Proxy +- DOMAIN-SUFFIX,shazam.com,Proxy +- DOMAIN-SUFFIX,skype.com,Proxy +- DOMAIN-SUFFIX,smartdnsProxy.com,Proxy +- DOMAIN-SUFFIX,smartmailcloud.com,Proxy +- DOMAIN-SUFFIX,sndcdn.com,Proxy +- DOMAIN-SUFFIX,sony.com,Proxy +- DOMAIN-SUFFIX,soundcloud.com,Proxy +- DOMAIN-SUFFIX,sourceforge.net,Proxy +- DOMAIN-SUFFIX,spotify.com,Proxy +- DOMAIN-SUFFIX,squarespace.com,Proxy +- DOMAIN-SUFFIX,sstatic.net,Proxy +- DOMAIN-SUFFIX,st.luluku.pw,Proxy +- DOMAIN-SUFFIX,stackoverflow.com,Proxy +- DOMAIN-SUFFIX,startpage.com,Proxy +- DOMAIN-SUFFIX,staticflickr.com,Proxy +- DOMAIN-SUFFIX,steamcommunity.com,Proxy +- DOMAIN-SUFFIX,symauth.com,Proxy +- DOMAIN-SUFFIX,symcb.com,Proxy +- DOMAIN-SUFFIX,symcd.com,Proxy +- DOMAIN-SUFFIX,tapbots.com,Proxy +- DOMAIN-SUFFIX,tapbots.net,Proxy +- DOMAIN-SUFFIX,tdesktop.com,Proxy +- DOMAIN-SUFFIX,techcrunch.com,Proxy +- DOMAIN-SUFFIX,techsmith.com,Proxy +- DOMAIN-SUFFIX,thepiratebay.org,Proxy +- DOMAIN-SUFFIX,theverge.com,Proxy +- DOMAIN-SUFFIX,time.com,Proxy +- DOMAIN-SUFFIX,timeinc.net,Proxy +- DOMAIN-SUFFIX,tiny.cc,Proxy +- DOMAIN-SUFFIX,tinypic.com,Proxy +- DOMAIN-SUFFIX,tmblr.co,Proxy +- DOMAIN-SUFFIX,todoist.com,Proxy +- DOMAIN-SUFFIX,trello.com,Proxy +- DOMAIN-SUFFIX,trustasiassl.com,Proxy +- DOMAIN-SUFFIX,tumblr.co,Proxy +- DOMAIN-SUFFIX,tumblr.com,Proxy +- DOMAIN-SUFFIX,tweetdeck.com,Proxy +- DOMAIN-SUFFIX,tweetmarker.net,Proxy +- DOMAIN-SUFFIX,twitch.tv,Proxy +- DOMAIN-SUFFIX,txmblr.com,Proxy +- DOMAIN-SUFFIX,typekit.net,Proxy +- DOMAIN-SUFFIX,ubertags.com,Proxy +- DOMAIN-SUFFIX,ublock.org,Proxy +- DOMAIN-SUFFIX,ubnt.com,Proxy +- DOMAIN-SUFFIX,ulyssesapp.com,Proxy +- DOMAIN-SUFFIX,urchin.com,Proxy +- DOMAIN-SUFFIX,usertrust.com,Proxy +- DOMAIN-SUFFIX,v.gd,Proxy +- DOMAIN-SUFFIX,vimeo.com,Proxy +- DOMAIN-SUFFIX,vimeocdn.com,Proxy +- DOMAIN-SUFFIX,vine.co,Proxy +- DOMAIN-SUFFIX,vivaldi.com,Proxy +- DOMAIN-SUFFIX,vox-cdn.com,Proxy +- DOMAIN-SUFFIX,vsco.co,Proxy +- DOMAIN-SUFFIX,vultr.com,Proxy +- DOMAIN-SUFFIX,w.org,Proxy +- DOMAIN-SUFFIX,w3schools.com,Proxy +- DOMAIN-SUFFIX,webtype.com,Proxy +- DOMAIN-SUFFIX,wikiwand.com,Proxy +- DOMAIN-SUFFIX,wikileaks.org,Proxy +- DOMAIN-SUFFIX,wikimedia.org,Proxy +- DOMAIN-SUFFIX,wikipedia.com,Proxy +- DOMAIN-SUFFIX,wikipedia.org,Proxy +- DOMAIN-SUFFIX,windows.com,Proxy +- DOMAIN-SUFFIX,windows.net,Proxy +- DOMAIN-SUFFIX,wire.com,Proxy +- DOMAIN-SUFFIX,wordpress.com,Proxy +- DOMAIN-SUFFIX,workflowy.com,Proxy +- DOMAIN-SUFFIX,wp.com,Proxy +- DOMAIN-SUFFIX,wsj.com,Proxy +- DOMAIN-SUFFIX,wsj.net,Proxy +- DOMAIN-SUFFIX,xda-developers.com,Proxy +- DOMAIN-SUFFIX,xeeno.com,Proxy +- DOMAIN-SUFFIX,xiti.com,Proxy +- DOMAIN-SUFFIX,yahoo.com,Proxy +- DOMAIN-SUFFIX,yimg.com,Proxy +- DOMAIN-SUFFIX,ying.com,Proxy +- DOMAIN-SUFFIX,yoyo.org,Proxy +- DOMAIN-SUFFIX,ytimg.com,Proxy + +- DOMAIN-SUFFIX,telegra.ph,Proxy +- DOMAIN-SUFFIX,telegram.org,Proxy +- IP-CIDR,91.108.56.0/22,Proxy +- IP-CIDR,91.108.4.0/22,Proxy +- IP-CIDR,91.108.8.0/22,Proxy +- IP-CIDR,109.239.140.0/24,Proxy +- IP-CIDR,149.154.160.0/20,Proxy +- IP-CIDR,149.154.164.0/22,Proxy + +- DOMAIN-SUFFIX,local,DIRECT +- IP-CIDR,127.0.0.0/8,DIRECT +- IP-CIDR,172.16.0.0/12,DIRECT +- IP-CIDR,192.168.0.0/16,DIRECT +- IP-CIDR,10.0.0.0/8,DIRECT +- IP-CIDR,17.0.0.0/8,DIRECT +- IP-CIDR,100.64.0.0/10,DIRECT +- DOMAIN-KEYWORD,announce,DIRECT +- DOMAIN-KEYWORD,torrent,DIRECT +- DOMAIN-KEYWORD,tracker,DIRECT +- DOMAIN-SUFFIX,smtp,DIRECT + +- DOMAIN-SUFFIX,edgedatg.com,Media +- DOMAIN-SUFFIX,go.com,Media +- DOMAIN,linear-abematv.akamaized.net,Media +- DOMAIN-SUFFIX,abema.io,Media +- DOMAIN-SUFFIX,abema.tv,Media +- DOMAIN-SUFFIX,akamaized.net,Media +- DOMAIN-SUFFIX,ameba.jp,Media +- DOMAIN-SUFFIX,hayabusa.io,Media +- DOMAIN-SUFFIX,aiv-cdn.net,Media +- DOMAIN-SUFFIX,amazonaws.com,Media +- DOMAIN-SUFFIX,amazonvideo.com,Media +- DOMAIN-SUFFIX,llnwd.net,Media +- DOMAIN-SUFFIX,bahamut.com.tw,Media +- DOMAIN-SUFFIX,gamer.com.tw,Media +- DOMAIN-SUFFIX,hinet.net,Media +- DOMAIN-KEYWORD,bbcfmt,Media +- DOMAIN-KEYWORD,co.uk,Media +- DOMAIN-KEYWORD,uk-live,Media +- DOMAIN-SUFFIX,bbc.co,Media +- DOMAIN-SUFFIX,bbc.co.uk,Media +- DOMAIN-SUFFIX,bbc.com,Media +- DOMAIN-SUFFIX,bbci.co,Media +- DOMAIN-SUFFIX,bbci.co.uk,Media +- DOMAIN-SUFFIX,chocotv.com.tw,Media +- DOMAIN-KEYWORD,epicgames,Media +- DOMAIN-SUFFIX,helpshift.com,Media +- DOMAIN-KEYWORD,foxplus,Media +- DOMAIN-SUFFIX,config.fox.com,Media +- DOMAIN-SUFFIX,emome.net,Media +- DOMAIN-SUFFIX,fox.com,Media +- DOMAIN-SUFFIX,foxdcg.com,Media +- DOMAIN-SUFFIX,foxnow.com,Media +- DOMAIN-SUFFIX,foxplus.com,Media +- DOMAIN-SUFFIX,foxplay.com,Media +- DOMAIN-SUFFIX,ipinfo.io,Media +- DOMAIN-SUFFIX,mstage.io,Media +- DOMAIN-SUFFIX,now.com,Media +- DOMAIN-SUFFIX,theplatform.com,Media +- DOMAIN-SUFFIX,urlload.net,Media +- DOMAIN-SUFFIX,execute-api.ap-southeast-1.amazonaws.com,Media +- DOMAIN-SUFFIX,hbo.com,Media +- DOMAIN-SUFFIX,hboasia.com,Media +- DOMAIN-SUFFIX,hbogo.com,Media +- DOMAIN-SUFFIX,hbogoasia.hk,Media +- DOMAIN-SUFFIX,happyon.jp,Media +- DOMAIN-SUFFIX,hulu.com,Media +- DOMAIN-SUFFIX,huluim.com,Media +- DOMAIN-SUFFIX,hulustream.com,Media +- DOMAIN-SUFFIX,imkan.tv,Media +- DOMAIN-SUFFIX,joox.com,Media +- DOMAIN-KEYWORD,nowtv100,Media +- DOMAIN-KEYWORD,rthklive,Media +- DOMAIN-SUFFIX,mytvsuper.com,Media +- DOMAIN-SUFFIX,tvb.com,Media +- DOMAIN-SUFFIX,netflix.com,Proxy +- DOMAIN-SUFFIX,netflix.net,Proxy +- DOMAIN-SUFFIX,nflxext.com,Proxy +- DOMAIN-SUFFIX,nflximg.com,Proxy +- DOMAIN-SUFFIX,nflximg.net,Proxy +- DOMAIN-SUFFIX,nflxso.net,Proxy +- DOMAIN-SUFFIX,nflxvideo.net,Proxy +- DOMAIN-SUFFIX,pandora.com,Media +- DOMAIN-SUFFIX,sky.com,Media +- DOMAIN-SUFFIX,skygo.co.nz,Media +- DOMAIN-KEYWORD,spotify,Media +- DOMAIN-SUFFIX,scdn.co,Media +- DOMAIN-SUFFIX,spoti.fi,Media +- DOMAIN-SUFFIX,viu.tv,Media +- DOMAIN-KEYWORD,youtube,Media +- DOMAIN-SUFFIX,googlevideo.com,Media +- DOMAIN-SUFFIX,gvt2.com,Media +- DOMAIN-SUFFIX,youtu.be,Media +- DOMAIN-KEYWORD,bilibili,AsianTV +- DOMAIN-SUFFIX,acg.tv,AsianTV +- DOMAIN-SUFFIX,acgvideo.com,AsianTV +- DOMAIN-SUFFIX,b23.tv,AsianTV +- DOMAIN-SUFFIX,biliapi.com,AsianTV +- DOMAIN-SUFFIX,biliapi.net,AsianTV +- DOMAIN-SUFFIX,bilibili.com,AsianTV +- DOMAIN-SUFFIX,biligame.com,AsianTV +- DOMAIN-SUFFIX,biligame.net,AsianTV +- DOMAIN-SUFFIX,hdslb.com,AsianTV +- DOMAIN-SUFFIX,im9.com,AsianTV +- DOMAIN-KEYWORD,qiyi,AsianTV +- DOMAIN-SUFFIX,qy.net,AsianTV +- DOMAIN-SUFFIX,api.mob.app.letv.com,AsianTV +- DOMAIN-SUFFIX,163yun.com,AsianTV +- DOMAIN-SUFFIX,music.126.net,AsianTV +- DOMAIN-SUFFIX,music.163.com,AsianTV +- DOMAIN-SUFFIX,vv.video.qq.com,AsianTV +- DOMAIN,analytics.google.com,Proxy +- DOMAIN,analyticsinsights-pa.googleapis.com,Proxy +- DOMAIN,analyticsreporting.googleapis.com,Proxy +- DOMAIN-SUFFIX,vd.l.qq.com,DIRECT +- DOMAIN-KEYWORD,adservice,AdBlock +- DOMAIN-KEYWORD,analytics,AdBlock +- DOMAIN-KEYWORD,analysis,AdBlock +- DOMAIN-SUFFIX,3lift.com,AdBlock +- DOMAIN-SUFFIX,4006825178.com,AdBlock +- DOMAIN-SUFFIX,51.la,AdBlock +- DOMAIN-SUFFIX,550tg.com,AdBlock +- DOMAIN-SUFFIX,56txs4.com,AdBlock +- DOMAIN-SUFFIX,ad373.com,AdBlock +- DOMAIN-SUFFIX,ad4screen.com,AdBlock +- DOMAIN-SUFFIX,ad-brix.com,AdBlock +- DOMAIN-SUFFIX,adcolony.com,AdBlock +- DOMAIN-SUFFIX,adform.net,AdBlock +- DOMAIN-SUFFIX,adinall.com,AdBlock +- DOMAIN-SUFFIX,adinfuse.com,AdBlock +- DOMAIN-SUFFIX,adjust.com,AdBlock +- DOMAIN-SUFFIX,adjust.io,AdBlock +- DOMAIN-SUFFIX,adkmob.com,AdBlock +- DOMAIN-SUFFIX,adlefee.com,AdBlock +- DOMAIN-SUFFIX,admantx.com,AdBlock +- DOMAIN-SUFFIX,admarketplace.net,AdBlock +- DOMAIN-SUFFIX,admarvel.com,AdBlock +- DOMAIN-SUFFIX,admaster.com.cn,AdBlock +- DOMAIN-SUFFIX,admob.com,AdBlock +- DOMAIN-SUFFIX,adnow.com,AdBlock +- DOMAIN-SUFFIX,adnxs.com,AdBlock +- DOMAIN-SUFFIX,adsafeprotected.com,AdBlock +- DOMAIN-SUFFIX,adsota.com,AdBlock +- DOMAIN-SUFFIX,ads-pixiv.net,AdBlock +- DOMAIN-SUFFIX,adsrvr.org,AdBlock +- DOMAIN-SUFFIX,ads-twitter.com,AdBlock +- DOMAIN-SUFFIX,adswizz.com,AdBlock +- DOMAIN-SUFFIX,adsymptotic.com,AdBlock +- DOMAIN-SUFFIX,adtechus.com,AdBlock +- DOMAIN-SUFFIX,adtilt.com,AdBlock +- DOMAIN-SUFFIX,adtrue.com,AdBlock +- DOMAIN-SUFFIX,AdBlock.com,AdBlock +- DOMAIN-SUFFIX,advertnative.com,AdBlock +- DOMAIN-SUFFIX,adview.cn,AdBlock +- DOMAIN-SUFFIX,adxpansion.com,AdBlock +- DOMAIN-SUFFIX,adxvip.com,AdBlock +- DOMAIN-SUFFIX,aerserv.com,AdBlock +- DOMAIN-SUFFIX,agkn.com,AdBlock +- DOMAIN-SUFFIX,alipaylog.com,AdBlock +- DOMAIN-SUFFIX,amazon-adsystem.com,AdBlock +- DOMAIN-SUFFIX,analysys.cn,AdBlock +- DOMAIN-SUFFIX,app-adforce.jp,AdBlock +- DOMAIN-SUFFIX,appads.com,AdBlock +- DOMAIN-SUFFIX,appboy.com,AdBlock +- DOMAIN-SUFFIX,appier.net,AdBlock +- DOMAIN-SUFFIX,applift.com,AdBlock +- DOMAIN-SUFFIX,applovin.com,AdBlock +- DOMAIN-SUFFIX,appnext.com,AdBlock +- DOMAIN-SUFFIX,appodealx.com,AdBlock +- DOMAIN-SUFFIX,appsee.com,AdBlock +- DOMAIN-SUFFIX,appsflyer.com,AdBlock +- DOMAIN-SUFFIX,apptentive.com,AdBlock +- DOMAIN-SUFFIX,apptornado.com,AdBlock +- DOMAIN-SUFFIX,atdmt.com,AdBlock +- DOMAIN-SUFFIX,atwola.com,AdBlock +- DOMAIN-SUFFIX,betrad.com,AdBlock +- DOMAIN-SUFFIX,bidswitch.com,AdBlock +- DOMAIN-SUFFIX,bjytgw.com,AdBlock +- DOMAIN-SUFFIX,bttrack.com,AdBlock +- DOMAIN-SUFFIX,bxmns.com,AdBlock +- DOMAIN-SUFFIX,cappumedia.com,AdBlock +- DOMAIN-SUFFIX,celtra.com,AdBlock +- DOMAIN-SUFFIX,cferw.com,AdBlock +- DOMAIN-SUFFIX,chartbeat.net,AdBlock +- DOMAIN-SUFFIX,chartboost.com,AdBlock +- DOMAIN-SUFFIX,chitika.com,AdBlock +- DOMAIN-SUFFIX,clickhubs.com,AdBlock +- DOMAIN-SUFFIX,clickintext.com,AdBlock +- DOMAIN-SUFFIX,clickintext.net,AdBlock +- DOMAIN-SUFFIX,cloudmobi.net,AdBlock +- DOMAIN-SUFFIX,cnadnet.com,AdBlock +- DOMAIN-SUFFIX,cnzz.com,AdBlock +- DOMAIN-SUFFIX,cocounion.com,AdBlock +- DOMAIN-SUFFIX,conversantmedia.com,AdBlock +- DOMAIN-SUFFIX,conviva.com,AdBlock +- DOMAIN-SUFFIX,criteo.com,AdBlock +- DOMAIN-SUFFIX,crwdcntrl.net,AdBlock +- DOMAIN-SUFFIX,ctrmi.com,AdBlock +- DOMAIN-SUFFIX,demdex.net,AdBlock +- DOMAIN-SUFFIX,dianomi.com,AdBlock +- DOMAIN-SUFFIX,digitru.st,AdBlock +- DOMAIN-SUFFIX,dtscout.com,AdBlock +- DOMAIN-SUFFIX,duapps.com,AdBlock +- DOMAIN-SUFFIX,effectivemeasure.net,AdBlock +- DOMAIN-SUFFIX,endpo.in,AdBlock +- DOMAIN-SUFFIX,eum-appdynamics.com,AdBlock +- DOMAIN-SUFFIX,exoclick.com,AdBlock +- DOMAIN-SUFFIX,exosrv.com,AdBlock +- DOMAIN-SUFFIX,exponential.com,AdBlock +- DOMAIN-SUFFIX,exposebox.com,AdBlock +- DOMAIN-SUFFIX,eyeota.net,AdBlock +- DOMAIN-SUFFIX,eyeviewads.com,AdBlock +- DOMAIN-SUFFIX,flurry.com,AdBlock +- DOMAIN-SUFFIX,fwmrm.net,AdBlock +- DOMAIN-SUFFIX,getrockerbox.com,AdBlock +- DOMAIN-SUFFIX,go2cloud.org,AdBlock +- DOMAIN-SUFFIX,go-mpulse.net,AdBlock +- DOMAIN-SUFFIX,gowadogo.com,AdBlock +- DOMAIN-SUFFIX,growingio.com,AdBlock +- DOMAIN-SUFFIX,gwallet.com,AdBlock +- DOMAIN-SUFFIX,i2000.xyz,AdBlock +- DOMAIN-SUFFIX,igexin.com,AdBlock +- DOMAIN-SUFFIX,i-mobile.co.jp,AdBlock +- DOMAIN-SUFFIX,imrworldwide.com,AdBlock +- DOMAIN-SUFFIX,indexww.com,AdBlock +- DOMAIN-SUFFIX,inmobi.cn,AdBlock +- DOMAIN-SUFFIX,inmobi.com,AdBlock +- DOMAIN-SUFFIX,instabug.com,AdBlock +- DOMAIN-SUFFIX,irs01.com,AdBlock +- DOMAIN-SUFFIX,juicyads.com,AdBlock +- DOMAIN-SUFFIX,kejet.net,AdBlock +- DOMAIN-SUFFIX,knlob.com,AdBlock +- DOMAIN-SUFFIX,kochava.com,AdBlock +- DOMAIN-SUFFIX,koolmediaoffers.com,AdBlock +- DOMAIN-SUFFIX,krxd.net,AdBlock +- DOMAIN-SUFFIX,leadzu.com,AdBlock +- DOMAIN-SUFFIX,leanplum.com,AdBlock +- DOMAIN-SUFFIX,lenzmx.com,AdBlock +- DOMAIN-SUFFIX,lifestreet.com,AdBlock +- DOMAIN-SUFFIX,lifestreetmedia.com,AdBlock +- DOMAIN-SUFFIX,ligatus.com,AdBlock +- DOMAIN-SUFFIX,lnk0.com,AdBlock +- DOMAIN-SUFFIX,luomi.com,AdBlock +- DOMAIN-SUFFIX,madserving.com,AdBlock +- DOMAIN-SUFFIX,mathtag.com,AdBlock +- DOMAIN-SUFFIX,media.net,AdBlock +- DOMAIN-SUFFIX,medialytics.com,AdBlock +- DOMAIN-SUFFIX,metalex.io,AdBlock +- DOMAIN-SUFFIX,mfadsrvr.com,AdBlock +- DOMAIN-SUFFIX,mgid.com,AdBlock +- DOMAIN-SUFFIX,miaozhen.com,AdBlock +- DOMAIN-SUFFIX,moatads.com,AdBlock +- DOMAIN-SUFFIX,mobileapptracking.com,AdBlock +- DOMAIN-SUFFIX,mobiw.com,AdBlock +- DOMAIN-SUFFIX,mojiva.com,AdBlock +- DOMAIN-SUFFIX,mopub.com,AdBlock +- DOMAIN-SUFFIX,mparticle.com,AdBlock +- DOMAIN-SUFFIX,mxpnl.com,AdBlock +- DOMAIN-SUFFIX,mybest.app,AdBlock +- DOMAIN-SUFFIX,mydas.mobi,AdBlock +- DOMAIN-SUFFIX,nexage.com,AdBlock +- DOMAIN-SUFFIX,nr-data.net,AdBlock +- DOMAIN-SUFFIX,offerstrack.net,AdBlock +- DOMAIN-SUFFIX,omtrdc.net,AdBlock +- DOMAIN-SUFFIX,outbrain.com,AdBlock +- DOMAIN-SUFFIX,parsely.com,AdBlock +- DOMAIN-SUFFIX,peak-adx.com,AdBlock +- DOMAIN-SUFFIX,personaly.click,AdBlock +- DOMAIN-SUFFIX,popads.com,AdBlock +- DOMAIN-SUFFIX,popads.net,AdBlock +- DOMAIN-SUFFIX,propellerads.com,AdBlock +- DOMAIN-SUFFIX,pubnative.net,AdBlock +- DOMAIN-SUFFIX,qchannel01.cn,AdBlock +- DOMAIN-SUFFIX,qualtrics.com,AdBlock +- DOMAIN-SUFFIX,quantserve.com,AdBlock +- DOMAIN-SUFFIX,quixdtrk.com,AdBlock +- DOMAIN-SUFFIX,rayjump.com,AdBlock +- DOMAIN-SUFFIX,rubiconproject.com,AdBlock +- DOMAIN-SUFFIX,scorecardresearch.com,AdBlock +- DOMAIN-SUFFIX,serving-sys.com,AdBlock +- DOMAIN-SUFFIX,simplepath.com,AdBlock +- DOMAIN-SUFFIX,skimresources.com,AdBlock +- DOMAIN-SUFFIX,smardroid.com,AdBlock +- DOMAIN-SUFFIX,smartadserver.com,AdBlock +- DOMAIN-SUFFIX,snnd.co,AdBlock +- DOMAIN-SUFFIX,sonobi.com,AdBlock +- DOMAIN-SUFFIX,starmobs.com,AdBlock +- DOMAIN-SUFFIX,startappexchange.com,AdBlock +- DOMAIN-SUFFIX,startappservice.com,AdBlock +- DOMAIN-SUFFIX,storygize.net,AdBlock +- DOMAIN-SUFFIX,summerhamster.com,AdBlock +- DOMAIN-SUFFIX,supersonicads.com,AdBlock +- DOMAIN-SUFFIX,taboola.com,AdBlock +- DOMAIN-SUFFIX,tagtic.cn,AdBlock +- DOMAIN-SUFFIX,talkingdata.com,AdBlock +- DOMAIN-SUFFIX,tango-deg.com,AdBlock +- DOMAIN-SUFFIX,tanv.com,AdBlock +- DOMAIN-SUFFIX,tanx.com,AdBlock +- DOMAIN-SUFFIX,tapad.com,AdBlock +- DOMAIN-SUFFIX,taplytics.com,AdBlock +- DOMAIN-SUFFIX,taptica.com,AdBlock +- DOMAIN-SUFFIX,testplus.cn,AdBlock +- DOMAIN-SUFFIX,trackclickers.com,AdBlock +- DOMAIN-SUFFIX,trafficjunky.net,AdBlock +- DOMAIN-SUFFIX,trustx.org,AdBlock +- DOMAIN-SUFFIX,tuanxue360.net,AdBlock +- DOMAIN-SUFFIX,turn.com,AdBlock +- DOMAIN-SUFFIX,uberads.com,AdBlock +- DOMAIN-SUFFIX,udrig.com,AdBlock +- DOMAIN-SUFFIX,upcpi.com,AdBlock +- DOMAIN-SUFFIX,urbanairship.com,AdBlock +- DOMAIN-SUFFIX,usebutton.com,AdBlock +- DOMAIN-SUFFIX,voiceads.cn,AdBlock +- DOMAIN-SUFFIX,vrtcal.com,AdBlock +- DOMAIN-SUFFIX,vserv.mobi,AdBlock +- DOMAIN-SUFFIX,vungle.com,AdBlock +- DOMAIN-SUFFIX,webspectator.com,AdBlock +- DOMAIN-SUFFIX,xadchina.cn,AdBlock +- DOMAIN-SUFFIX,xdrig.com,AdBlock +- DOMAIN-SUFFIX,yldbt.com,AdBlock +- DOMAIN-SUFFIX,yllix.com,AdBlock +- DOMAIN-SUFFIX,ymtracking.com,AdBlock +- DOMAIN-SUFFIX,ad.daum.net,AdBlock +- DOMAIN-SUFFIX,track.xiachufang.com,AdBlock +- DOMAIN,log.umsns.com,AdBlock +- DOMAIN,log.snssdk.com,AdBlock +- DOMAIN,toblog.snssdk.com,AdBlock +- DOMAIN,wgo.mmstat.com,AdBlock +- DOMAIN,report.jpush.cn,AdBlock +- DOMAIN,static.jpush.cn,AdBlock +- DOMAIN,stats.jpush.cn,AdBlock +- DOMAIN,stats.umsns.com,AdBlock +- DOMAIN,s0.2mdn.net,AdBlock +- DOMAIN,appnext.hs.llnwd.net,AdBlock +- DOMAIN,appnext-a.akamaihd.net,AdBlock +- DOMAIN,abema-adx.ameba.jp,AdBlock +- DOMAIN,ad.12306.cn,AdBlock +- DOMAIN,ad.caiyunapp.com,AdBlock +- DOMAIN,ad.huajiao.com,AdBlock +- DOMAIN,ad.hzyoka.com,AdBlock +- DOMAIN,ad.jiemian.com,AdBlock +- DOMAIN,ad.qingting.fm,AdBlock +- DOMAIN,ad-cn.jovcloud.com,AdBlock +- DOMAIN,adsapi.manhuaren.com,AdBlock + +- DOMAIN,adclick.g.doubleclick.net,AdBlock +- DOMAIN,googleads.g.doubleclick.net,AdBlock +- DOMAIN,www.googleadservices.com,AdBlock +- DOMAIN,googleadservices.com,AdBlock +- DOMAIN,googleads.g.doubleclick.net,AdBlock + +- DOMAIN,adsdk.dmzj.com,AdBlock +- DOMAIN,ads.daydaycook.com.cn,AdBlock +- DOMAIN,adui.tg.meitu.com,AdBlock +- DOMAIN,adx.hupu.com,AdBlock +- DOMAIN,adxserver.ad.cmvideo.cn,AdBlock +- DOMAIN,app-ad.variflight.com,AdBlock +- DOMAIN,applog.mobike.com,AdBlock +- DOMAIN,ggs.myzaker.com,AdBlock +- DOMAIN,ja.chushou.tv,AdBlock +- DOMAIN,log.b612kaji.com,AdBlock +- DOMAIN,log.star.ele.me,AdBlock +- DOMAIN,log.voicecloud.cn,AdBlock +- DOMAIN,log.ys7.com,AdBlock +- DOMAIN,logs.chelaile.net.cn,AdBlock +- DOMAIN,mopnativeadv.037201.com,AdBlock +- DOMAIN,nativeadv.dftoutiao.com,AdBlock +- DOMAIN,optimus-ads.amap.com,AdBlock +- DOMAIN,static.vuevideo.net,AdBlock +- DOMAIN,sugar.zhihu.com,AdBlock +- DOMAIN,track.tiara.daum.net,AdBlock +- DOMAIN,track.tiara.kakao.com,AdBlock +- DOMAIN,trackapp.guahao.cn,AdBlock +- DOMAIN,traffic.mogujie.com,AdBlock +- DOMAIN,wmlog.meituan.com,AdBlock +- DOMAIN,adshow.58.com,AdBlock +- DOMAIN,track.58.com,AdBlock +- DOMAIN,tracklog.58.com,AdBlock +- DOMAIN-SUFFIX,iadsdk.apple.com,AdBlock +- DOMAIN-SUFFIX,ads.internal.unity3d.com,AdBlock +- DOMAIN-SUFFIX,ads.prd.ie.internal.unity3d.com,AdBlock +- DOMAIN-SUFFIX,unityads.unity3d.com,AdBlock +- DOMAIN,acs4baichuan.m.taobao.com,AdBlock +- DOMAIN,adash.m.taobao.com,AdBlock +- DOMAIN,adash.man.aliyuncs.com,AdBlock +- DOMAIN,adashbc.ut.taobao.com,AdBlock +- DOMAIN,adash-c.ut.taobao.com,AdBlock +- DOMAIN,adashxgc.ut.taobao.com,AdBlock +- DOMAIN,adashx4yt.m.taobao.com,AdBlock +- DOMAIN,amdc.m.taobao.com,AdBlock +- DOMAIN,apoll.m.taobao.com,AdBlock +- DOMAIN,nbsdk-baichuan.alicdn.com,AdBlock +- DOMAIN,tunion-api.m.taobao.com,AdBlock +- DOMAIN,adProxy.autohome.com.cn,AdBlock +- DOMAIN,rd.autohome.com.cn,AdBlock +- DOMAIN,al.autohome.com.cn,AdBlock +- DOMAIN,applogapi.autohome.com.cn,AdBlock +- DOMAIN-SUFFIX,baidustatic.com,AdBlock +- DOMAIN,afd.baidu.com,AdBlock +- DOMAIN,duclick.baidu.com,AdBlock +- DOMAIN,hm.baidu.com,AdBlock +- DOMAIN,hmma.baidu.com,AdBlock +- DOMAIN,mobads.baidu.com,AdBlock +- DOMAIN,mobads-logs.baidu.com,AdBlock +- DOMAIN,nsclick.baidu.com,AdBlock +- DOMAIN,wn.pos.baidu.com,AdBlock +- DOMAIN,applog.musical.ly,AdBlock +- DOMAIN,track.toutiao.com,AdBlock +- DOMAIN,xlog.snssdk.com,AdBlock +- DOMAIN,xlog-va.byteoversea.com,AdBlock +- DOMAIN,adx.yiche.com,AdBlock +- DOMAIN,log.ycapp.yiche.com,AdBlock +- DOMAIN,advertise.baicizhan.org,AdBlock +- DOMAIN,advertise.baicizhan.com,AdBlock +- DOMAIN,galaxy.bjcathay.com,AdBlock +- DOMAIN,mdrecv.app.cntvwb.cn,AdBlock +- DOMAIN,sdapprecv.app.cntvwb.cn,AdBlock +- DOMAIN,vdapprecv.app.cntvwb.cn,AdBlock +- DOMAIN,admarket.21cn.com,AdBlock +- DOMAIN,adshows.21cn.com,AdBlock +- DOMAIN-SUFFIX,doubleclick.net,AdBlock +- DOMAIN-SUFFIX,googleadservices.com,AdBlock +- DOMAIN-SUFFIX,googleadsserving.cn,AdBlock +- DOMAIN-SUFFIX,googlesyndication.com,AdBlock +- DOMAIN-SUFFIX,googletagmanager.com,AdBlock +- DOMAIN-SUFFIX,googletagservices.com,AdBlock +- DOMAIN-SUFFIX,google-analytics.com,AdBlock +- DOMAIN-SUFFIX,da.mgtv.com,AdBlock +- DOMAIN-SUFFIX,da.hunantv.com,AdBlock +- DOMAIN-SUFFIX,log.hunantv.com,AdBlock +- DOMAIN,log.v2.hunantv.com,AdBlock +- DOMAIN,v2.log.hunantv.com,AdBlock +- DOMAIN,ifacelog.iqiyi.com,AdBlock +- DOMAIN,mbdlog.iqiyi.com,AdBlock +- DOMAIN,msg.71.am,AdBlock +- DOMAIN,msg.qy.net,AdBlock +- DOMAIN,t7z.cupid.iqiyi.com,AdBlock +- DOMAIN,adserviceretry.kugou.com,AdBlock +- DOMAIN,ads.service.kugou.com,AdBlock +- DOMAIN,adsfile.bssdlbig.kugou.com,AdBlock +- DOMAIN,log.stat.kugou.com,AdBlock +- DOMAIN,log.web.kugou.com,AdBlock +- DOMAIN,kgmobilestat.kugou.com,AdBlock +- DOMAIN,kgmobilestatbak.kugou.com,AdBlock +- DOMAIN,mobilelog.kugou.com,AdBlock +- DOMAIN,mobilead.kuwo.cn,AdBlock +- DOMAIN,rich.kuwo.cn,AdBlock +- DOMAIN,ad-stat.ksosoft.com,AdBlock +- DOMAIN,img.auction-ads.wpscdn.cn,AdBlock +- DOMAIN-SUFFIX,webp2p.letv.com,AdBlock +- DOMAIN,ark.letv.com,AdBlock +- DOMAIN,emma-414870e223.huodonghezi.com,AdBlock +- DOMAIN,g3.letv.com,AdBlock +- DOMAIN,n.mark.letv.com,AdBlock +- DOMAIN-SUFFIX,ad.xiaomi.com,AdBlock +- DOMAIN-SUFFIX,admob.xiaomi.com,AdBlock +- DOMAIN-SUFFIX,ad.intl.xiaomi.com,AdBlock +- DOMAIN-SUFFIX,data.mistat.xiaomi.com,AdBlock +- DOMAIN-SUFFIX,tracking.miui.com,AdBlock +- DOMAIN,adv.sec.miui.com,AdBlock +- DOMAIN,adv.sec.intl.miui.com,AdBlock +- DOMAIN,o2o.api.xiaomi.com,AdBlock +- DOMAIN,ad.api.moji.com,AdBlock +- DOMAIN,adlaunch.moji.com,AdBlock +- DOMAIN,ads.mojicdn.com,AdBlock +- DOMAIN,v1.log.moji.com,AdBlock +- DOMAIN,minfo.wps.cn,AdBlock +- DOMAIN,ad.bn.netease.com,AdBlock +- DOMAIN,ad.yixin.im,AdBlock +- DOMAIN,admusicpic.music.126.net,AdBlock +- DOMAIN,iadmat.nosdn.127.net,AdBlock +- DOMAIN,iadmusicmat.music.126.net,AdBlock +- DOMAIN,iadmusicmatvideo.music.126.net,AdBlock +- DOMAIN,impservice.dictapp.youdao.com,AdBlock +- DOMAIN,impservice.youdao.com,AdBlock +- DOMAIN,log.yex.youdao.com,AdBlock +- DOMAIN,log-yex.youdao.com,AdBlock +- DOMAIN,n.3g.163.com,AdBlock +- DOMAIN,nex.163.com,AdBlock +- DOMAIN,yt-adp.nosdn.127.net,AdBlock +- DOMAIN,ads.aplus.pptv.com,AdBlock +- DOMAIN,asimgs.pplive.cn,AdBlock +- DOMAIN,de.as.pptv.com,AdBlock +- DOMAIN,regist.fotoable.com,AdBlock +- DOMAIN,cdn.adapi.fotoable.com,AdBlock +- DOMAIN,adnew.wifi8.com,AdBlock +- DOMAIN,adfile.wifi8.com,AdBlock +- DOMAIN,u1.img.mobile.sina.cn,AdBlock +- DOMAIN,sax.sina.com.cn,AdBlock +- DOMAIN,saxs.sina.com.cn,AdBlock +- DOMAIN,saxn.sina.com.cn,AdBlock +- DOMAIN-SUFFIX,ads.sohu.com,AdBlock +- DOMAIN-SUFFIX,aty.sohu.com,AdBlock +- DOMAIN,imp.optaim.com,AdBlock +- DOMAIN,v2.reachmax.cn,AdBlock +- DOMAIN,track.sohu.com,AdBlock +- DOMAIN,hui.sohu.com,AdBlock +- DOMAIN-SUFFIX,e.qq.com,AdBlock +- DOMAIN-SUFFIX,gdt.qq.com,AdBlock +- DOMAIN-SUFFIX,rqd.qq.com,AdBlock +- DOMAIN,btrace.qq.com,AdBlock +- DOMAIN,mtrace.qq.com,AdBlock +- DOMAIN,oth.eve.mdt.qq.com,AdBlock +- DOMAIN,pingma.qq.com,AdBlock +- DOMAIN,pingtcss.qq.com,AdBlock +- DOMAIN,splashqqlive.gtimg.com,AdBlock +- DOMAIN,tajs.qq.com,AdBlock +- DOMAIN,imgadpai.thepaper.cn,AdBlock +- DOMAIN,admonitor.thepaper.cn,AdBlock +- DOMAIN,adsp.xunlei.com,AdBlock +- DOMAIN,etl.xlmc.sandai.net,AdBlock +- DOMAIN,adm.10jqka.com.cn,AdBlock +- DOMAIN,stat.10jqka.com.cn,AdBlock +- DOMAIN,ad-analysis.pconline.com.cn,AdBlock +- DOMAIN,iad0ssl.pcauto.com.cn,AdBlock +- DOMAIN,iad0ssl.pconline.com.cn,AdBlock +- DOMAIN,imgad0.pcauto.com.cn,AdBlock +- DOMAIN,imgad0.pconline.com.cn,AdBlock +- DOMAIN,ivy.pchouse.com.cn,AdBlock +- DOMAIN,adtrack.ucweb.com,AdBlock +- DOMAIN,applogios.uc.cn,AdBlock +- DOMAIN,track.uc.cn,AdBlock +- DOMAIN,a.wkanx.com,AdBlock +- DOMAIN,cwx.lianwangtech.com,AdBlock +- DOMAIN,c1wx.lianwangtech.com,AdBlock +- DOMAIN,ad.ximalaya.com,AdBlock +- DOMAIN,adse.ximalaya.com,AdBlock +- DOMAIN,t-ads.xiaohongshu.com,AdBlock +- DOMAIN,apm-track.xiaohongshu.com,AdBlock +- DOMAIN-SUFFIX,atm.youku.com,AdBlock +- DOMAIN,ad.mobile.youku.com,AdBlock +- DOMAIN,iyes.youku.com,AdBlock +- DOMAIN,apppv.zol.com.cn,AdBlock +- DOMAIN,pvnapp.zol.com.cn,AdBlock +- DOMAIN-SUFFIX,17gouwuba.com,AdBlock +- DOMAIN-SUFFIX,189zj.cn,AdBlock +- DOMAIN-SUFFIX,285680.com,AdBlock +- DOMAIN-SUFFIX,3721zh.com,AdBlock +- DOMAIN-SUFFIX,4336wang.cn,AdBlock +- DOMAIN-SUFFIX,51chumoping.com,AdBlock +- DOMAIN-SUFFIX,58mingri.cn,AdBlock +- DOMAIN-SUFFIX,58mingtian.cn,AdBlock +- DOMAIN-SUFFIX,6d63d3.com,AdBlock +- DOMAIN-SUFFIX,91veg.com,AdBlock +- DOMAIN-SUFFIX,9s6q.cn,AdBlock +- DOMAIN-SUFFIX,adsame.com,AdBlock +- DOMAIN-SUFFIX,aiclk.com,AdBlock +- DOMAIN-SUFFIX,akuai.top,AdBlock +- DOMAIN-SUFFIX,atplay.cn,AdBlock +- DOMAIN-SUFFIX,baiwanchuangyi.com,AdBlock +- DOMAIN-SUFFIX,bayimob.com,AdBlock +- DOMAIN-SUFFIX,beerto.cn,AdBlock +- DOMAIN-SUFFIX,beilamusi.com,AdBlock +- DOMAIN-SUFFIX,benshiw.net,AdBlock +- DOMAIN-SUFFIX,bianxianmao.com,AdBlock +- DOMAIN-SUFFIX,bryonypie.com,AdBlock +- DOMAIN-SUFFIX,cishantao.com,AdBlock +- DOMAIN-SUFFIX,cszlks.com,AdBlock +- DOMAIN-SUFFIX,cudaojia.com,AdBlock +- DOMAIN-SUFFIX,dafapromo.com,AdBlock +- DOMAIN-SUFFIX,daitdai.com,AdBlock +- DOMAIN-SUFFIX,dsaeerf.com,AdBlock +- DOMAIN-SUFFIX,dugesheying.com,AdBlock +- DOMAIN-SUFFIX,dv8c1t.cn,AdBlock +- DOMAIN-SUFFIX,erdoscs.com,AdBlock +- DOMAIN-SUFFIX,fan-yong.com,AdBlock +- DOMAIN-SUFFIX,feih.com.cn,AdBlock +- DOMAIN-SUFFIX,fjlqqc.com,AdBlock +- DOMAIN-SUFFIX,fkku194.com,AdBlock +- DOMAIN-SUFFIX,freedrive.cn,AdBlock +- DOMAIN-SUFFIX,gclick.cn,AdBlock +- DOMAIN-SUFFIX,goufanli100.com,AdBlock +- DOMAIN-SUFFIX,gouwubang.com,AdBlock +- DOMAIN-SUFFIX,haoshengtoys.com,AdBlock +- DOMAIN-SUFFIX,ichaosheng.com,AdBlock +- DOMAIN-SUFFIX,ishop789.com,AdBlock +- DOMAIN-SUFFIX,jdkic.com,AdBlock +- DOMAIN-SUFFIX,jiubuhua.com,AdBlock +- DOMAIN-SUFFIX,jwg365.cn,AdBlock +- DOMAIN-SUFFIX,kumihua.com,AdBlock +- DOMAIN-SUFFIX,linktech.cn,AdBlock +- DOMAIN-SUFFIX,ltheanine.cn,AdBlock +- DOMAIN-SUFFIX,maipinshangmao.com,AdBlock +- DOMAIN-SUFFIX,minisplat.cn,AdBlock +- DOMAIN-SUFFIX,mkitgfs.com,AdBlock +- DOMAIN-SUFFIX,mlnbike.com,AdBlock +- DOMAIN-SUFFIX,newapi.com,AdBlock +- DOMAIN-SUFFIX,pinzhitmall.com,AdBlock +- DOMAIN-SUFFIX,poppyta.com,AdBlock +- DOMAIN-SUFFIX,qichexin.com,AdBlock +- DOMAIN-SUFFIX,qinchugudao.com,AdBlock +- DOMAIN-SUFFIX,quanliyouxi.cn,AdBlock +- DOMAIN-SUFFIX,qutaobi.com,AdBlock +- DOMAIN-SUFFIX,ry51w.cn,AdBlock +- DOMAIN-SUFFIX,sg536.cn,AdBlock +- DOMAIN-SUFFIX,sifubo.cn,AdBlock +- DOMAIN-SUFFIX,sifuce.cn,AdBlock +- DOMAIN-SUFFIX,sifuda.cn,AdBlock +- DOMAIN-SUFFIX,sifufu.cn,AdBlock +- DOMAIN-SUFFIX,sifuge.cn,AdBlock +- DOMAIN-SUFFIX,sifugu.cn,AdBlock +- DOMAIN-SUFFIX,sifuhe.cn,AdBlock +- DOMAIN-SUFFIX,sifuhu.cn,AdBlock +- DOMAIN-SUFFIX,sifuji.cn,AdBlock +- DOMAIN-SUFFIX,sifuka.cn,AdBlock +- DOMAIN-SUFFIX,smgru.net,AdBlock +- DOMAIN-SUFFIX,taoggou.com,AdBlock +- DOMAIN-SUFFIX,tcxshop.com,AdBlock +- DOMAIN-SUFFIX,tjqonline.cn,AdBlock +- DOMAIN-SUFFIX,topitme.com,AdBlock +- DOMAIN-SUFFIX,tuia.cn,AdBlock +- DOMAIN-SUFFIX,tuipenguin.com,AdBlock +- DOMAIN-SUFFIX,tuitiger.com,AdBlock +- DOMAIN-SUFFIX,wx16999.com,AdBlock +- DOMAIN-SUFFIX,xiaohuau.xyz,AdBlock +- DOMAIN-SUFFIX,yinmong.com,AdBlock +- DOMAIN-SUFFIX,yiqifa.com,AdBlock +- DOMAIN-SUFFIX,yitaopt.com,AdBlock +- DOMAIN-SUFFIX,yukhj.com,AdBlock +- DOMAIN-SUFFIX,zhaozecheng.cn,AdBlock +- DOMAIN-SUFFIX,zhenxinet.com,AdBlock +- DOMAIN-SUFFIX,zunmi.cn,AdBlock +- DOMAIN-SUFFIX,zzd6.com,AdBlock +- DOMAIN-SUFFIX,kuaizip.com,AdBlock +- DOMAIN-SUFFIX,mackeeper.com,AdBlock +- DOMAIN-SUFFIX,4009997658.com,AdBlock +- DOMAIN-SUFFIX,abbyychina.com,AdBlock +- DOMAIN-SUFFIX,bartender.cc,AdBlock +- DOMAIN-SUFFIX,betterzip.net,AdBlock +- DOMAIN-SUFFIX,beyondcompare.cc,AdBlock +- DOMAIN-SUFFIX,bingdianhuanyuan.cn,AdBlock +- DOMAIN-SUFFIX,chemdraw.com.cn,AdBlock +- DOMAIN-SUFFIX,cjmakeding.com,AdBlock +- DOMAIN-SUFFIX,cjmkt.com,AdBlock +- DOMAIN-SUFFIX,codesoftchina.com,AdBlock +- DOMAIN-SUFFIX,coreldrawchina.com,AdBlock +- DOMAIN-SUFFIX,crossoverchina.com,AdBlock +- DOMAIN-SUFFIX,easyrecoverychina.com,AdBlock +- DOMAIN-SUFFIX,ediuschina.com,AdBlock +- DOMAIN-SUFFIX,flstudiochina.com,AdBlock +- DOMAIN-SUFFIX,formysql.com,AdBlock +- DOMAIN-SUFFIX,guitarpro.cc,AdBlock +- DOMAIN-SUFFIX,huishenghuiying.com.cn,AdBlock +- DOMAIN-SUFFIX,hypersnap.net,AdBlock +- DOMAIN-SUFFIX,iconworkshop.cn,AdBlock +- DOMAIN-SUFFIX,imindmap.cc,AdBlock +- DOMAIN-SUFFIX,jihehuaban.com.cn,AdBlock +- DOMAIN-SUFFIX,keyshot.cc,AdBlock +- DOMAIN-SUFFIX,kingdeecn.cn,AdBlock +- DOMAIN-SUFFIX,logoshejishi.com,AdBlock +- DOMAIN-SUFFIX,mairuan.cn,AdBlock +- DOMAIN-SUFFIX,mairuan.com,AdBlock +- DOMAIN-SUFFIX,mairuan.com.cn,AdBlock +- DOMAIN-SUFFIX,mairuan.net,AdBlock +- DOMAIN-SUFFIX,mairuanwang.com,AdBlock +- DOMAIN-SUFFIX,makeding.com,AdBlock +- DOMAIN-SUFFIX,mathtype.cn,AdBlock +- DOMAIN-SUFFIX,mindmanager.cc,AdBlock +- DOMAIN-SUFFIX,mindmapper.cc,AdBlock +- DOMAIN-SUFFIX,mycleanmymac.com,AdBlock +- DOMAIN-SUFFIX,nicelabel.cc,AdBlock +- DOMAIN-SUFFIX,ntfsformac.cc,AdBlock +- DOMAIN-SUFFIX,ntfsformac.cn,AdBlock +- DOMAIN-SUFFIX,overturechina.com,AdBlock +- DOMAIN-SUFFIX,passwordrecovery.cn,AdBlock +- DOMAIN-SUFFIX,pdfexpert.cc,AdBlock +- DOMAIN-SUFFIX,shankejingling.com,AdBlock +- DOMAIN-SUFFIX,ultraiso.net,AdBlock +- DOMAIN-SUFFIX,vegaschina.cn,AdBlock +- DOMAIN-SUFFIX,xmindchina.net,AdBlock +- DOMAIN-SUFFIX,xshellcn.com,AdBlock +- DOMAIN-SUFFIX,yihuifu.cn,AdBlock +- DOMAIN-SUFFIX,yuanchengxiezuo.com,AdBlock +- DOMAIN-SUFFIX,zbrushcn.com,AdBlock +- DOMAIN-SUFFIX,zhzzx.com,AdBlock +- DOMAIN-SUFFIX,itunes.apple.com,Proxy +- DOMAIN,aod.itunes.apple.com,Proxy +- DOMAIN,audio.itunes.apple.com,Proxy +- DOMAIN,audio-ssl.itunes.apple.com,Proxy +- DOMAIN,streamingaudio.itunes.apple.com,Proxy +- DOMAIN,ocvideo.apple.com,Proxy +- DOMAIN,gspe1-ssl.ls.apple.com,Proxy +- DOMAIN-SUFFIX,aaplimg.com,Proxy +- DOMAIN-SUFFIX,apple.co,DIRECT +- DOMAIN-SUFFIX,apple.com,DIRECT +- DOMAIN-SUFFIX,appstore.com,DIRECT +- DOMAIN-SUFFIX,cdn-apple.com,Proxy +- DOMAIN-SUFFIX,crashlytics.com,DIRECT +- DOMAIN-SUFFIX,icloud.com,DIRECT +- DOMAIN-SUFFIX,icloud-content.com,Proxy +- DOMAIN-SUFFIX,me.com,DIRECT +- DOMAIN-SUFFIX,mzstatic.com,DIRECT +- DOMAIN-SUFFIX,microsoft.com,DIRECT +- DOMAIN-SUFFIX,windows.net,DIRECT +- DOMAIN-SUFFIX,sfx.ms,DIRECT +- DOMAIN-SUFFIX,sharepoint.com,DIRECT +- DOMAIN-KEYWORD,officecdn,DIRECT +- DOMAIN-SUFFIX,blizzard.com,DIRECT +- DOMAIN-SUFFIX,battle.net,DIRECT +- DOMAIN,blzddist1-a.akamaihd.net,DIRECT +- DOMAIN-SUFFIX,steampowered.com,DIRECT +- DOMAIN-SUFFIX,steam-chat.com,DIRECT +- DOMAIN-KEYWORD,steamcdn,DIRECT +- DOMAIN-KEYWORD,steamstore,DIRECT +- DOMAIN-KEYWORD,steamuserimages,DIRECT +- DOMAIN-KEYWORD,steambroadcast,DIRECT +- DOMAIN-SUFFIX,qq.com,DIRECT +- DOMAIN-SUFFIX,qpic.cn,DIRECT +- DOMAIN-SUFFIX,tencent.com,DIRECT +- DOMAIN-SUFFIX,alibaba.com,DIRECT +- DOMAIN-SUFFIX,alicdn.com,DIRECT +- DOMAIN-SUFFIX,amap.com,DIRECT +- DOMAIN-SUFFIX,dingtalk.com,DIRECT +- DOMAIN-SUFFIX,taobao.com,DIRECT +- DOMAIN-SUFFIX,tmall.com,DIRECT +- DOMAIN-SUFFIX,ykimg.com,DIRECT +- DOMAIN-SUFFIX,youku.com,DIRECT +- DOMAIN-SUFFIX,xiami.com,DIRECT +- DOMAIN-SUFFIX,xiami.net,DIRECT +- DOMAIN-SUFFIX,163.com,DIRECT +- DOMAIN-SUFFIX,126.net,DIRECT +- DOMAIN-SUFFIX,163yun.com,DIRECT +- DOMAIN-SUFFIX,sohu.com.cn,DIRECT +- DOMAIN-SUFFIX,itc.cn,DIRECT +- DOMAIN-SUFFIX,sohu.com,DIRECT +- DOMAIN-SUFFIX,v-56.com,DIRECT +- DOMAIN-SUFFIX,weibo.com,DIRECT +- DOMAIN-SUFFIX,weibo.cn,DIRECT +- DOMAIN-SUFFIX,jd.com,DIRECT +- DOMAIN-SUFFIX,jd.hk,DIRECT +- DOMAIN-SUFFIX,360buyimg.com,DIRECT +- DOMAIN-SUFFIX,duokan.com,DIRECT +- DOMAIN-SUFFIX,mi-img.com,DIRECT +- DOMAIN-SUFFIX,mifile.cn,DIRECT +- DOMAIN-SUFFIX,xiaomi.com,DIRECT +- DOMAIN-SUFFIX,acgvideo.com,DIRECT +- DOMAIN-SUFFIX,bilibili.com,DIRECT +- DOMAIN-SUFFIX,hdslb.com,DIRECT +- DOMAIN-SUFFIX,iqiyi.com,DIRECT +- DOMAIN-SUFFIX,iqiyipic.com,DIRECT +- DOMAIN-SUFFIX,71.am.com,DIRECT +- DOMAIN-SUFFIX,hitv.com,DIRECT +- DOMAIN-SUFFIX,mgtv.com,DIRECT +- DOMAIN-SUFFIX,meitu.com,DIRECT +- DOMAIN-SUFFIX,meitudata.com,DIRECT +- DOMAIN-SUFFIX,meipai.com,DIRECT +- DOMAIN-SUFFIX,zmzapi.com,DIRECT +- DOMAIN-SUFFIX,zimuzu.tv,DIRECT +- DOMAIN-SUFFIX,zmzfile.com,DIRECT +- DOMAIN-SUFFIX,zmzapi.net,DIRECT +- DOMAIN-SUFFIX,baduziyuan.com,DIRECT +- DOMAIN-SUFFIX,com-hs-hkdy.com,DIRECT +- DOMAIN-SUFFIX,czybjz.com,DIRECT +- DOMAIN-SUFFIX,dandanzan.com,DIRECT +- DOMAIN-SUFFIX,fjhps.com,DIRECT +- DOMAIN-SUFFIX,kuyunbo.club,DIRECT +- DOMAIN-SUFFIX,baidu.com,DIRECT +- DOMAIN-SUFFIX,baidubcr.com,DIRECT +- DOMAIN-SUFFIX,bdstatic.com,DIRECT +- DOMAIN-SUFFIX,189.cn,DIRECT +- DOMAIN-SUFFIX,21cn.com,DIRECT +- DOMAIN-SUFFIX,bytecdn.cn,DIRECT +- DOMAIN-SUFFIX,pstatp.com,DIRECT +- DOMAIN-SUFFIX,snssdk.com,DIRECT +- DOMAIN-SUFFIX,toutiao.com,DIRECT +- DOMAIN-SUFFIX,akadns.net,DIRECT +- DOMAIN-SUFFIX,chinanetcenter.com,DIRECT +- DOMAIN-SUFFIX,wangsu.com,DIRECT +- DOMAIN-SUFFIX,cloudflare.com,DIRECT +- DOMAIN-SUFFIX,ipip.net,DIRECT +- DOMAIN-SUFFIX,ip.cn,DIRECT +- DOMAIN-SUFFIX,ip.la,DIRECT +- DOMAIN-SUFFIX,ip-cdn.com,DIRECT +- DOMAIN-SUFFIX,ipv6-test.com,DIRECT +- DOMAIN-SUFFIX,test-ipv6.com,DIRECT +- DOMAIN-SUFFIX,whatismyip.com,DIRECT +- DOMAIN,ip.bjango.com,DIRECT +- DOMAIN-SUFFIX,40017.cn,DIRECT +- DOMAIN-SUFFIX,cailianpress.com,DIRECT +- DOMAIN-SUFFIX,chdbits.co,DIRECT +- DOMAIN-SUFFIX,chushou.tv,DIRECT +- DOMAIN-SUFFIX,cmbchina.com,DIRECT +- DOMAIN-SUFFIX,cmbimg.com,DIRECT +- DOMAIN-SUFFIX,cmct.tv,DIRECT +- DOMAIN-SUFFIX,cmvideo.cn,DIRECT +- DOMAIN-SUFFIX,cnlang.org,DIRECT +- DOMAIN-SUFFIX,doubanio.com,DIRECT +- DOMAIN-SUFFIX,douyu.com,DIRECT +- DOMAIN-SUFFIX,douyucdn.cn,DIRECT +- DOMAIN-SUFFIX,dxycdn.com,DIRECT +- DOMAIN-SUFFIX,hicloud.com,DIRECT +- DOMAIN-SUFFIX,hdchina.org,DIRECT +- DOMAIN-SUFFIX,hdcmct.org,DIRECT +- DOMAIN-SUFFIX,ithome.com,DIRECT +- DOMAIN-SUFFIX,kkmh.com,DIRECT +- DOMAIN-SUFFIX,ksosoft.com,DIRECT +- DOMAIN-SUFFIX,maoyun.tv,DIRECT +- DOMAIN-SUFFIX,meituan.net,DIRECT +- DOMAIN-SUFFIX,mobike.com,DIRECT +- DOMAIN-SUFFIX,mubu.com,DIRECT +- DOMAIN-SUFFIX,myzaker.com,DIRECT +- DOMAIN-SUFFIX,ourbits.club,DIRECT +- DOMAIN-SUFFIX,passthepopcorn.me,DIRECT +- DOMAIN-SUFFIX,paypal.com,Proxy +- DOMAIN-SUFFIX,paypalobjects.com,Proxy +- DOMAIN-SUFFIX,privatehd.to,DIRECT +- DOMAIN-SUFFIX,redacted.ch,DIRECT +- DOMAIN-SUFFIX,ruguoapp.com,DIRECT +- DOMAIN-SUFFIX,smzdm.com,DIRECT +- DOMAIN-SUFFIX,sogou.com,DIRECT +- DOMAIN-SUFFIX,teamviewer.com,DIRECT +- DOMAIN-SUFFIX,totheglory.im,DIRECT +- DOMAIN-SUFFIX,tp.m-team.cc,DIRECT +- DOMAIN-SUFFIX,udacity.com,DIRECT +- DOMAIN-SUFFIX,xmcdn.com,DIRECT +- DOMAIN-SUFFIX,yangkeduo.com,DIRECT +- DOMAIN-SUFFIX,zhihu.com,DIRECT +- DOMAIN-SUFFIX,zhimg.com,DIRECT +- DOMAIN-SUFFIX,appspot.com,Proxy +- DOMAIN-SUFFIX,blogger.com,Proxy +- DOMAIN-SUFFIX,getoutline.org,Proxy +- DOMAIN-SUFFIX,gvt0.com,Proxy +- DOMAIN-SUFFIX,gvt1.com,Proxy +- DOMAIN-SUFFIX,gvt3.com,Proxy +- DOMAIN-SUFFIX,xn--ngstr-lra8j.com,Proxy +- DOMAIN-KEYWORD,google,Proxy +- DOMAIN-KEYWORD,blogspot,Proxy +- DOMAIN-SUFFIX,cdninstagram.com,Proxy +- DOMAIN-SUFFIX,fb.com,Proxy +- DOMAIN-SUFFIX,fb.me,Proxy +- DOMAIN-SUFFIX,fbaddins.com,Proxy +- DOMAIN-SUFFIX,fbcdn.net,Proxy +- DOMAIN-SUFFIX,fbsbx.com,Proxy +- DOMAIN-SUFFIX,fbworkmail.com,Proxy +- DOMAIN-SUFFIX,instagram.com,Proxy +- DOMAIN-SUFFIX,m.me,Proxy +- DOMAIN-SUFFIX,messenger.com,Proxy +- DOMAIN-SUFFIX,oculus.com,Proxy +- DOMAIN-SUFFIX,oculuscdn.com,Proxy +- DOMAIN-SUFFIX,rocksdb.org,Proxy +- DOMAIN-SUFFIX,whatsapp.com,Proxy +- DOMAIN-SUFFIX,whatsapp.net,Proxy +- DOMAIN-KEYWORD,facebook,Proxy +- DOMAIN-SUFFIX,pscp.tv,Proxy +- DOMAIN-SUFFIX,periscope.tv,Proxy +- DOMAIN-SUFFIX,t.co,Proxy +- DOMAIN-SUFFIX,twimg.co,Proxy +- DOMAIN-SUFFIX,twimg.com,Proxy +- DOMAIN-SUFFIX,twitpic.com,Proxy +- DOMAIN-SUFFIX,vine.co,Proxy +- DOMAIN-KEYWORD,twitter,Proxy +- DOMAIN-SUFFIX,t.me,Proxy +- DOMAIN-SUFFIX,tdesktop.com,Proxy +- DOMAIN-SUFFIX,telegra.ph,Proxy +- DOMAIN-SUFFIX,telegram.me,Proxy +- DOMAIN-SUFFIX,telegram.org,Proxy +- DOMAIN-SUFFIX,line.me,Proxy +- DOMAIN-SUFFIX,line-apps.com,Proxy +- DOMAIN-SUFFIX,line-scdn.net,Proxy +- DOMAIN-SUFFIX,naver.jp,Proxy +- DOMAIN-SUFFIX,4shared.com,Proxy +- DOMAIN-SUFFIX,881903.com,Proxy +- DOMAIN-SUFFIX,abc.net.au,Proxy +- DOMAIN-SUFFIX,abebooks.com,Proxy +- DOMAIN-SUFFIX,amazon.co.jp,Proxy +- DOMAIN-SUFFIX,apigee.com,Proxy +- DOMAIN-SUFFIX,apk-dl.com,Proxy +- DOMAIN-SUFFIX,apkmirror.com,Proxy +- DOMAIN-SUFFIX,apkmonk.com,Proxy +- DOMAIN-SUFFIX,apkpure.com,Proxy +- DOMAIN-SUFFIX,aptoide.com,Proxy +- DOMAIN-SUFFIX,archive.is,Proxy +- DOMAIN-SUFFIX,archive.org,Proxy +- DOMAIN-SUFFIX,arte.tv,Proxy +- DOMAIN-SUFFIX,ask.com,Proxy +- DOMAIN-SUFFIX,avgle.com,Proxy +- DOMAIN-SUFFIX,badoo.com,Proxy +- DOMAIN-SUFFIX,bandwagonhost.com,Proxy +- DOMAIN-SUFFIX,bbc.com,Proxy +- DOMAIN-SUFFIX,behance.net,Proxy +- DOMAIN-SUFFIX,bibox.com,Proxy +- DOMAIN-SUFFIX,biggo.com.tw,Proxy +- DOMAIN-SUFFIX,binance.com,Proxy +- DOMAIN-SUFFIX,bitcointalk.org,Proxy +- DOMAIN-SUFFIX,bitfinex.com,Proxy +- DOMAIN-SUFFIX,bitmex.com,Proxy +- DOMAIN-SUFFIX,bit-z.com,Proxy +- DOMAIN-SUFFIX,bloglovin.com,Proxy +- DOMAIN-SUFFIX,bloomberg.cn,Proxy +- DOMAIN-SUFFIX,bloomberg.com,Proxy +- DOMAIN-SUFFIX,book.com.tw,Proxy +- DOMAIN-SUFFIX,booklive.jp,Proxy +- DOMAIN-SUFFIX,books.com.tw,Proxy +- DOMAIN-SUFFIX,box.com,Proxy +- DOMAIN-SUFFIX,brookings.edu,Proxy +- DOMAIN-SUFFIX,businessinsider.com,Proxy +- DOMAIN-SUFFIX,bwh1.net,Proxy +- DOMAIN-SUFFIX,castbox.fm,Proxy +- DOMAIN-SUFFIX,cbc.ca,Proxy +- DOMAIN-SUFFIX,cdw.com,Proxy +- DOMAIN-SUFFIX,change.org,Proxy +- DOMAIN-SUFFIX,ck101.com,Proxy +- DOMAIN-SUFFIX,clarionproject.org,Proxy +- DOMAIN-SUFFIX,clyp.it,Proxy +- DOMAIN-SUFFIX,cna.com.tw,Proxy +- DOMAIN-SUFFIX,comparitech.com,Proxy +- DOMAIN-SUFFIX,conoha.jp,Proxy +- DOMAIN-SUFFIX,crucial.com,Proxy +- DOMAIN-SUFFIX,cts.com.tw,Proxy +- DOMAIN-SUFFIX,cw.com.tw,Proxy +- DOMAIN-SUFFIX,cyberctm.com,Proxy +- DOMAIN-SUFFIX,dailymotion.com,Proxy +- DOMAIN-SUFFIX,dailyview.tw,Proxy +- DOMAIN-SUFFIX,daum.net,Proxy +- DOMAIN-SUFFIX,daumcdn.net,Proxy +- DOMAIN-SUFFIX,dcard.tw,Proxy +- DOMAIN-SUFFIX,deepdiscount.com,Proxy +- DOMAIN-SUFFIX,deezer.com,Proxy +- DOMAIN-SUFFIX,depositphotos.com,Proxy +- DOMAIN-SUFFIX,disconnect.me,Proxy +- DOMAIN-SUFFIX,discordapp.com,Proxy +- DOMAIN-SUFFIX,discordapp.net,Proxy +- DOMAIN-SUFFIX,disqus.com,Proxy +- DOMAIN-SUFFIX,dns2go.com,Proxy +- DOMAIN-SUFFIX,dropbox.com,Proxy +- DOMAIN-SUFFIX,dropboxusercontent.com,Proxy +- DOMAIN-SUFFIX,duckduckgo.com,Proxy +- DOMAIN-SUFFIX,dw.com,Proxy +- DOMAIN-SUFFIX,dynu.com,Proxy +- DOMAIN-SUFFIX,earthcam.com,Proxy +- DOMAIN-SUFFIX,ebookservice.tw,Proxy +- DOMAIN-SUFFIX,economist.com,Proxy +- DOMAIN-SUFFIX,edgecastcdn.net,Proxy +- DOMAIN-SUFFIX,edu,Proxy +- DOMAIN-SUFFIX,elpais.com,Proxy +- DOMAIN-SUFFIX,enanyang.my,Proxy +- DOMAIN-SUFFIX,euronews.com,Proxy +- DOMAIN-SUFFIX,feedly.com,Proxy +- DOMAIN-SUFFIX,files.wordpress.com,Proxy +- DOMAIN-SUFFIX,flickr.com,Proxy +- DOMAIN-SUFFIX,flitto.com,Proxy +- DOMAIN-SUFFIX,foreignpolicy.com,Proxy +- DOMAIN-SUFFIX,friday.tw,Proxy +- DOMAIN-SUFFIX,gate.io,Proxy +- DOMAIN-SUFFIX,getlantern.org,Proxy +- DOMAIN-SUFFIX,getsync.com,Proxy +- DOMAIN-SUFFIX,globalvoices.org,Proxy +- DOMAIN-SUFFIX,goo.ne.jp,Proxy +- DOMAIN-SUFFIX,goodreads.com,Proxy +- DOMAIN-SUFFIX,gov.tw,Proxy +- DOMAIN-SUFFIX,gumroad.com,Proxy +- DOMAIN-SUFFIX,hbg.com,Proxy +- DOMAIN-SUFFIX,hightail.com,Proxy +- DOMAIN-SUFFIX,hk01.com,Proxy +- DOMAIN-SUFFIX,hkbf.org,Proxy +- DOMAIN-SUFFIX,hkbookcity.com,Proxy +- DOMAIN-SUFFIX,hkej.com,Proxy +- DOMAIN-SUFFIX,hket.com,Proxy +- DOMAIN-SUFFIX,hkgolden.com,Proxy +- DOMAIN-SUFFIX,hootsuite.com,Proxy +- DOMAIN-SUFFIX,hudson.org,Proxy +- DOMAIN-SUFFIX,huobi.pro,Proxy +- DOMAIN-SUFFIX,initiummall.com,Proxy +- DOMAIN-SUFFIX,ipfs.io,Proxy +- DOMAIN-SUFFIX,issuu.com,Proxy +- DOMAIN-SUFFIX,japantimes.co.jp,Proxy +- DOMAIN-SUFFIX,jiji.com,Proxy +- DOMAIN-SUFFIX,jinx.com,Proxy +- DOMAIN-SUFFIX,jkforum.net,Proxy +- DOMAIN-SUFFIX,joinmastodon.org,Proxy +- DOMAIN-SUFFIX,kakao.com,Proxy +- DOMAIN-SUFFIX,lihkg.com,Proxy +- DOMAIN-SUFFIX,live.com,Proxy +- DOMAIN-SUFFIX,mail.ru,Proxy +- DOMAIN-SUFFIX,matters.news,Proxy +- DOMAIN-SUFFIX,medium.com,Proxy +- DOMAIN-SUFFIX,mega.nz,Proxy +- DOMAIN-SUFFIX,mil,Proxy +- DOMAIN-SUFFIX,mobile01.com,Proxy +- DOMAIN-SUFFIX,naver.com,Proxy +- DOMAIN-SUFFIX,nikkei.com,Proxy +- DOMAIN-SUFFIX,nofile.io,Proxy +- DOMAIN-SUFFIX,now.com,Proxy +- DOMAIN-SUFFIX,nyt.com,Proxy +- DOMAIN-SUFFIX,nytchina.com,Proxy +- DOMAIN-SUFFIX,nytcn.me,Proxy +- DOMAIN-SUFFIX,nytco.com,Proxy +- DOMAIN-SUFFIX,nytimes.com,Proxy +- DOMAIN-SUFFIX,nytimg.com,Proxy +- DOMAIN-SUFFIX,nytlog.com,Proxy +- DOMAIN-SUFFIX,nytstyle.com,Proxy +- DOMAIN-SUFFIX,ok.ru,Proxy +- DOMAIN-SUFFIX,okex.com,Proxy +- DOMAIN-SUFFIX,pcloud.com,Proxy +- DOMAIN-SUFFIX,pinimg.com,Proxy +- DOMAIN-SUFFIX,pixiv.net,Proxy +- DOMAIN-SUFFIX,pornhub.com,Proxy +- DOMAIN-SUFFIX,pureapk.com,Proxy +- DOMAIN-SUFFIX,quora.com,Proxy +- DOMAIN-SUFFIX,quoracdn.net,Proxy +- DOMAIN-SUFFIX,rakuten.co.jp,Proxy +- DOMAIN-SUFFIX,reddit.com,Proxy +- DOMAIN-SUFFIX,redditmedia.com,Proxy +- DOMAIN-SUFFIX,resilio.com,Proxy +- DOMAIN-SUFFIX,reuters.com,Proxy +- DOMAIN-SUFFIX,scmp.com,Proxy +- DOMAIN-SUFFIX,scribd.com,Proxy +- DOMAIN-SUFFIX,seatguru.com,Proxy +- DOMAIN-SUFFIX,shadowsocks.org,Proxy +- DOMAIN-SUFFIX,slideshare.net,Proxy +- DOMAIN-SUFFIX,soundcloud.com,Proxy +- DOMAIN-SUFFIX,startpage.com,Proxy +- DOMAIN-SUFFIX,steamcommunity.com,Proxy +- DOMAIN-SUFFIX,steemit.com,Proxy +- DOMAIN-SUFFIX,t66y.com,Proxy +- DOMAIN-SUFFIX,teco-hk.org,Proxy +- DOMAIN-SUFFIX,teco-mo.org,Proxy +- DOMAIN-SUFFIX,teddysun.com,Proxy +- DOMAIN-SUFFIX,theinitium.com,Proxy +- DOMAIN-SUFFIX,tineye.com,Proxy +- DOMAIN-SUFFIX,torproject.org,Proxy +- DOMAIN-SUFFIX,tumblr.com,Proxy +- DOMAIN-SUFFIX,turbobit.net,Proxy +- DOMAIN-SUFFIX,twitch.tv,Proxy +- DOMAIN-SUFFIX,udn.com,Proxy +- DOMAIN-SUFFIX,unseen.is,Proxy +- DOMAIN-SUFFIX,upmedia.mg,Proxy +- DOMAIN-SUFFIX,uptodown.com,Proxy +- DOMAIN-SUFFIX,ustream.tv,Proxy +- DOMAIN-SUFFIX,uwants.com,Proxy +- DOMAIN-SUFFIX,v2ray.com,Proxy +- DOMAIN-SUFFIX,viber.com,Proxy +- DOMAIN-SUFFIX,videopress.com,Proxy +- DOMAIN-SUFFIX,vimeo.com,Proxy +- DOMAIN-SUFFIX,voxer.com,Proxy +- DOMAIN-SUFFIX,vzw.com,Proxy +- DOMAIN-SUFFIX,w3schools.com,Proxy +- DOMAIN-SUFFIX,wattpad.com,Proxy +- DOMAIN-SUFFIX,whoer.net,Proxy +- DOMAIN-SUFFIX,wikimapia.org,Proxy +- DOMAIN-SUFFIX,wikipedia.org,Proxy +- DOMAIN-SUFFIX,wire.com,Proxy +- DOMAIN-SUFFIX,worldcat.org,Proxy +- DOMAIN-SUFFIX,wsj.com,Proxy +- DOMAIN-SUFFIX,wsj.net,Proxy +- DOMAIN-SUFFIX,xboxlive.com,Proxy +- DOMAIN-SUFFIX,xvideos.com,Proxy +- DOMAIN-SUFFIX,yahoo.com,Proxy +- DOMAIN-SUFFIX,yesasia.com,Proxy +- DOMAIN-SUFFIX,yes-news.com,Proxy +- DOMAIN-SUFFIX,yomiuri.co.jp,Proxy +- DOMAIN-SUFFIX,you-get.org,Proxy +- DOMAIN-SUFFIX,zb.com,Proxy +- DOMAIN-SUFFIX,zello.com,Proxy +- DOMAIN-SUFFIX,zeronet.io,Proxy +- DOMAIN,cdn-images.mailchimp.com,Proxy +- DOMAIN,id.heroku.com,Proxy +- DOMAIN-KEYWORD,github,Proxy +- DOMAIN-KEYWORD,jav,Proxy +- DOMAIN-KEYWORD,pinterest,Proxy +- DOMAIN-KEYWORD,porn,Proxy +- DOMAIN-KEYWORD,wikileaks,Proxy +- DOMAIN-SUFFIX,apartmentratings.com,Proxy +- DOMAIN-SUFFIX,apartments.com,Proxy +- DOMAIN-SUFFIX,bankmobilevibe.com,Proxy +- DOMAIN-SUFFIX,bing.com,Proxy +- DOMAIN-SUFFIX,booktopia.com.au,Proxy +- DOMAIN-SUFFIX,centauro.com.br,Proxy +- DOMAIN-SUFFIX,clearsurance.com,Proxy +- DOMAIN-SUFFIX,costco.com,Proxy +- DOMAIN-SUFFIX,crackle.com,Proxy +- DOMAIN-SUFFIX,depositphotos.cn,Proxy +- DOMAIN-SUFFIX,dish.com,Proxy +- DOMAIN-SUFFIX,dmm.co.jp,Proxy +- DOMAIN-SUFFIX,dmm.com,Proxy +- DOMAIN-SUFFIX,dnvod.tv,Proxy +- DOMAIN-SUFFIX,esurance.com,Proxy +- DOMAIN-SUFFIX,extmatrix.com,Proxy +- DOMAIN-SUFFIX,fastpic.ru,Proxy +- DOMAIN-SUFFIX,flipboard.com,Proxy +- DOMAIN-SUFFIX,fnac.be,Proxy +- DOMAIN-SUFFIX,fnac.com,Proxy +- DOMAIN-SUFFIX,funkyimg.com,Proxy +- DOMAIN-SUFFIX,fxnetworks.com,Proxy +- DOMAIN-SUFFIX,gettyimages.com,Proxy +- DOMAIN-SUFFIX,jcpenney.com,Proxy +- DOMAIN-SUFFIX,kknews.cc,Proxy +- DOMAIN-SUFFIX,nationwide.com,Proxy +- DOMAIN-SUFFIX,nbc.com,Proxy +- DOMAIN-SUFFIX,nordstrom.com,Proxy +- DOMAIN-SUFFIX,nordstromimage.com,Proxy +- DOMAIN-SUFFIX,nordstromrack.com,Proxy +- DOMAIN-SUFFIX,read01.com,Proxy +- DOMAIN-SUFFIX,superpages.com,Proxy +- DOMAIN-SUFFIX,target.com,Proxy +- DOMAIN-SUFFIX,thinkgeek.com,Proxy +- DOMAIN-SUFFIX,tracfone.com,Proxy +- DOMAIN-SUFFIX,uploader.jp,Proxy +- DOMAIN-SUFFIX,vevo.com,Proxy +- DOMAIN-SUFFIX,viu.tv,Proxy +- DOMAIN-SUFFIX,vk.com,Proxy +- DOMAIN-SUFFIX,vsco.co,Proxy +- DOMAIN-SUFFIX,xfinity.com,Proxy +- DOMAIN-SUFFIX,zattoo.com,Proxy +- DOMAIN,abc.com,Proxy +- DOMAIN,abc.go.com,Proxy +- DOMAIN,abc.net.au,Proxy +- DOMAIN,wego.here.com,Proxy +- DOMAIN-SUFFIX,appsto.re,Proxy +- DOMAIN,beta.itunes.apple.com,Proxy +- DOMAIN,books.itunes.apple.com,Proxy +- DOMAIN,hls.itunes.apple.com,Proxy +- DOMAIN,itunes.apple.com,Proxy +- DOMAIN,api-glb-sea.smoot.apple.com,Proxy +- DOMAIN,lookup-api.apple.com,Proxy +- DOMAIN-SUFFIX,abc.xyz,Proxy +- DOMAIN-SUFFIX,android.com,Proxy +- DOMAIN-SUFFIX,androidify.com,Proxy +- DOMAIN-SUFFIX,dialogflow.com,Proxy +- DOMAIN-SUFFIX,autodraw.com,Proxy +- DOMAIN-SUFFIX,capitalg.com,Proxy +- DOMAIN-SUFFIX,certificate-transparency.org,Proxy +- DOMAIN-SUFFIX,chrome.com,Proxy +- DOMAIN-SUFFIX,chromeexperiments.com,Proxy +- DOMAIN-SUFFIX,chromestatus.com,Proxy +- DOMAIN-SUFFIX,chromium.org,Proxy +- DOMAIN-SUFFIX,creativelab5.com,Proxy +- DOMAIN-SUFFIX,debug.com,Proxy +- DOMAIN-SUFFIX,deepmind.com,Proxy +- DOMAIN-SUFFIX,firebaseio.com,Proxy +- DOMAIN-SUFFIX,getmdl.io,Proxy +- DOMAIN-SUFFIX,ggpht.com,Proxy +- DOMAIN-SUFFIX,gmail.com,Proxy +- DOMAIN-SUFFIX,gmodules.com,Proxy +- DOMAIN-SUFFIX,godoc.org,Proxy +- DOMAIN-SUFFIX,golang.org,Proxy +- DOMAIN-SUFFIX,gstatic.com,Proxy +- DOMAIN-SUFFIX,gv.com,Proxy +- DOMAIN-SUFFIX,gwtproject.org,Proxy +- DOMAIN-SUFFIX,itasoftware.com,Proxy +- DOMAIN-SUFFIX,madewithcode.com,Proxy +- DOMAIN-SUFFIX,material.io,Proxy +- DOMAIN-SUFFIX,polymer-project.org,Proxy +- DOMAIN-SUFFIX,admin.recaptcha.net,Proxy +- DOMAIN-SUFFIX,recaptcha.net,Proxy +- DOMAIN-SUFFIX,shattered.io,Proxy +- DOMAIN-SUFFIX,synergyse.com,Proxy +- DOMAIN-SUFFIX,tensorflow.org,Proxy +- DOMAIN-SUFFIX,tiltbrush.com,Proxy +- DOMAIN-SUFFIX,waveprotocol.org,Proxy +- DOMAIN-SUFFIX,waymo.com,Proxy +- DOMAIN-SUFFIX,webmproject.org,Proxy +- DOMAIN-SUFFIX,webrtc.org,Proxy +- DOMAIN-SUFFIX,whatbrowser.org,Proxy +- DOMAIN-SUFFIX,widevine.com,Proxy +- DOMAIN-SUFFIX,x.company,Proxy +- DOMAIN-SUFFIX,youtu.be,Proxy +- DOMAIN-SUFFIX,yt.be,Proxy +- DOMAIN-SUFFIX,ytimg.com,Proxy +- DOMAIN,media.steampowered.com,Proxy +- DOMAIN,store.steampowered.com,Proxy +- DOMAIN-SUFFIX,0rz.tw,Proxy +- DOMAIN-SUFFIX,4bluestones.biz,Proxy +- DOMAIN-SUFFIX,9bis.net,Proxy +- DOMAIN-SUFFIX,allconnected.co,Proxy +- DOMAIN-SUFFIX,amazonaws.com,Proxy +- DOMAIN-SUFFIX,aol.com,Proxy +- DOMAIN-SUFFIX,bcc.com.tw,Proxy +- DOMAIN-SUFFIX,bit.ly,Proxy +- DOMAIN-SUFFIX,bitshare.com,Proxy +- DOMAIN-SUFFIX,blog.jp,Proxy +- DOMAIN-SUFFIX,blogimg.jp,Proxy +- DOMAIN-SUFFIX,blogtd.org,Proxy +- DOMAIN-SUFFIX,broadcast.co.nz,Proxy +- DOMAIN-SUFFIX,camfrog.com,Proxy +- DOMAIN-SUFFIX,cfos.de,Proxy +- DOMAIN-SUFFIX,citypopulation.de,Proxy +- DOMAIN-SUFFIX,cloudfront.net,Proxy +- DOMAIN-SUFFIX,ctitv.com.tw,Proxy +- DOMAIN-SUFFIX,cuhk.edu.hk,Proxy +- DOMAIN-SUFFIX,cusu.hk,Proxy +- DOMAIN-SUFFIX,discuss.com.hk,Proxy +- DOMAIN-SUFFIX,dropboxapi.com,Proxy +- DOMAIN-SUFFIX,edditstatic.com,Proxy +- DOMAIN-SUFFIX,flickriver.com,Proxy +- DOMAIN-SUFFIX,focustaiwan.tw,Proxy +- DOMAIN-SUFFIX,free.fr,Proxy +- DOMAIN-SUFFIX,ftchinese.com,Proxy +- DOMAIN-SUFFIX,gigacircle.com,Proxy +- DOMAIN-SUFFIX,gov,Proxy +- DOMAIN-SUFFIX,hk-pub.com,Proxy +- DOMAIN-SUFFIX,hosting.co.uk,Proxy +- DOMAIN-SUFFIX,hwcdn.net,Proxy +- DOMAIN-SUFFIX,jtvnw.net,Proxy +- DOMAIN-SUFFIX,linksalpha.com,Proxy +- DOMAIN-SUFFIX,manyvids.com,Proxy +- DOMAIN-SUFFIX,myactimes.com,Proxy +- DOMAIN-SUFFIX,newsblur.com,Proxy +- DOMAIN-SUFFIX,now.im,Proxy +- DOMAIN-SUFFIX,redditlist.com,Proxy +- DOMAIN-SUFFIX,signal.org,Proxy +- DOMAIN-SUFFIX,sparknotes.com,Proxy +- DOMAIN-SUFFIX,streetvoice.com,Proxy +- DOMAIN-SUFFIX,ttvnw.net,Proxy +- DOMAIN-SUFFIX,tv.com,Proxy +- DOMAIN-SUFFIX,twitchcdn.net,Proxy +- DOMAIN-SUFFIX,typepad.com,Proxy +- DOMAIN-SUFFIX,udnbkk.com,Proxy +- DOMAIN-SUFFIX,whispersystems.org,Proxy +- DOMAIN-SUFFIX,wikia.com,Proxy +- DOMAIN-SUFFIX,wn.com,Proxy +- DOMAIN-SUFFIX,wolframalpha.com,Proxy +- DOMAIN-SUFFIX,x-art.com,Proxy +- DOMAIN-SUFFIX,yimg.com,Proxy +- DOMAIN-KEYWORD,dlercloud,Proxy +- DOMAIN-SUFFIX,dler.cloud,Proxy +- DOMAIN-KEYWORD,announce,DIRECT +- DOMAIN-KEYWORD,torrent,DIRECT +- DOMAIN-KEYWORD,tracker,DIRECT +- DOMAIN-SUFFIX,smtp,DIRECT +- DOMAIN-SUFFIX,local,DIRECT +- IP-CIDR,192.168.0.0/16,DIRECT +- IP-CIDR,10.0.0.0/8,DIRECT +- IP-CIDR,172.16.0.0/12,DIRECT +- IP-CIDR,127.0.0.0/8,DIRECT +- IP-CIDR,100.64.0.0/10,DIRECT +- IP-CIDR,101.227.0.0/16,AsianTV +- IP-CIDR,101.224.0.0/13,AsianTV +- IP-CIDR,119.176.0.0/12,AsianTV +- IP-CIDR,106.11.0.0/16,AsianTV +- IP-CIDR,101.227.97.240/32,AdBlock +- IP-CIDR,101.227.200.11/32,AdBlock +- IP-CIDR,101.227.200.28/32,AdBlock +- IP-CIDR,124.192.153.42/32,AdBlock +- IP-CIDR,39.107.15.115/32,AdBlock +- IP-CIDR,47.89.59.182/32,AdBlock +- IP-CIDR,103.49.209.27/32,AdBlock +- IP-CIDR,123.56.152.96/32,AdBlock +- IP-CIDR,61.160.200.223/32,AdBlock +- IP-CIDR,61.160.200.242/32,AdBlock +- IP-CIDR,61.160.200.252/32,AdBlock +- IP-CIDR,61.174.50.214/32,AdBlock +- IP-CIDR,111.175.220.163/32,AdBlock +- IP-CIDR,111.175.220.164/32,AdBlock +- IP-CIDR,124.232.160.178/32,AdBlock +- IP-CIDR,175.6.223.15/32,AdBlock +- IP-CIDR,183.59.53.237/32,AdBlock +- IP-CIDR,218.93.127.37/32,AdBlock +- IP-CIDR,221.228.17.152/32,AdBlock +- IP-CIDR,221.231.6.79/32,AdBlock +- IP-CIDR,222.186.61.91/32,AdBlock +- IP-CIDR,222.186.61.95/32,AdBlock +- IP-CIDR,222.186.61.96/32,AdBlock +- IP-CIDR,222.186.61.97/32,AdBlock +- IP-CIDR,106.75.231.48/32,AdBlock +- IP-CIDR,119.4.249.166/32,AdBlock +- IP-CIDR,220.196.52.141/32,AdBlock +- IP-CIDR,221.6.4.148/32,AdBlock +- IP-CIDR,114.247.28.96/32,AdBlock +- IP-CIDR,221.179.131.72/32,AdBlock +- IP-CIDR,221.179.140.145/32,AdBlock +- IP-CIDR,10.72.25.0/24,AdBlock +- IP-CIDR,115.182.16.79/32,AdBlock +- IP-CIDR,118.144.88.126/32,AdBlock +- IP-CIDR,118.144.88.215/32,AdBlock +- IP-CIDR,120.76.189.132/32,AdBlock +- IP-CIDR,124.14.21.147/32,AdBlock +- IP-CIDR,124.14.21.151/32,AdBlock +- IP-CIDR,180.166.52.24/32,AdBlock +- IP-CIDR,211.161.101.106/32,AdBlock +- IP-CIDR,220.115.251.25/32,AdBlock +- IP-CIDR,222.73.156.235/32,AdBlock +- IP-CIDR,91.108.4.0/22,Proxy +- IP-CIDR,91.108.8.0/22,Proxy +- IP-CIDR,91.108.12.0/22,Proxy +- IP-CIDR,91.108.16.0/22,Proxy +- IP-CIDR,91.108.56.0/22,Proxy +- IP-CIDR,149.154.160.0/20,Proxy +- IP-CIDR,35.190.247.0/24,Proxy +- IP-CIDR,64.233.160.0/19,Proxy +- IP-CIDR,66.102.0.0/20,Proxy +- IP-CIDR,66.249.80.0/20,Proxy +- IP-CIDR,72.14.192.0/18,Proxy +- IP-CIDR,74.125.0.0/16,Proxy +- IP-CIDR,108.177.8.0/21,Proxy +- IP-CIDR,172.217.0.0/16,Proxy +- IP-CIDR,173.194.0.0/16,Proxy +- IP-CIDR,209.85.128.0/17,Proxy +- IP-CIDR,216.58.192.0/19,Proxy +- IP-CIDR,216.239.32.0/19,Proxy +- IP-CIDR,31.13.24.0/21,Proxy +- IP-CIDR,31.13.64.0/18,Proxy +- IP-CIDR,45.64.40.0/22,Proxy +- IP-CIDR,66.220.144.0/20,Proxy +- IP-CIDR,69.63.176.0/20,Proxy +- IP-CIDR,69.171.224.0/19,Proxy +- IP-CIDR,74.119.76.0/22,Proxy +- IP-CIDR,103.4.96.0/22,Proxy +- IP-CIDR,129.134.0.0/17,Proxy +- IP-CIDR,157.240.0.0/17,Proxy +- IP-CIDR,173.252.64.0/19,Proxy +- IP-CIDR,173.252.96.0/19,Proxy +- IP-CIDR,179.60.192.0/22,Proxy +- IP-CIDR,185.60.216.0/22,Proxy +- IP-CIDR,204.15.20.0/22,Proxy +- IP-CIDR,69.195.160.0/19,Proxy +- IP-CIDR,104.244.42.0/21,Proxy +- IP-CIDR,192.133.76.0/22,Proxy +- IP-CIDR,199.16.156.0/22,Proxy +- IP-CIDR,199.59.148.0/22,Proxy +- IP-CIDR,199.96.56.0/21,Proxy +- IP-CIDR,202.160.128.0/22,Proxy +- IP-CIDR,209.237.192.0/19,Proxy + +- GEOIP,CN,DIRECT +- MATCH,Others + diff --git a/package/jsda/luci-app-clash/root/etc/config/clash b/package/jsda/luci-app-clash/root/etc/config/clash index d8d4148e2f..b2b336ffd7 100644 --- a/package/jsda/luci-app-clash/root/etc/config/clash +++ b/package/jsda/luci-app-clash/root/etc/config/clash @@ -12,6 +12,7 @@ config clash 'config' option proxylan '0' option rejectlan '0' option dnsforwader '0' + option subcri 'clash' option v2ray 'https://tgbot.lbyczf.com/v2rayn2clash?url=' option surge 'https://tgbot.lbyczf.com/surge2clash?url=' - option subcri 'clash' \ No newline at end of file + option cusrule '0' diff --git a/package/jsda/luci-app-clash/root/etc/init.d/clash b/package/jsda/luci-app-clash/root/etc/init.d/clash index 10b30e15cd..2977e30f50 100755 --- a/package/jsda/luci-app-clash/root/etc/init.d/clash +++ b/package/jsda/luci-app-clash/root/etc/init.d/clash @@ -55,6 +55,7 @@ yml_change(){ dash_port=$(uci get clash.config.dash_port 2>/dev/null) log_level=$(uci get clash.config.level 2>/dev/null) subtype=$(uci get clash.config.subcri 2>/dev/null) + if [ $mode -eq 1 ]; then sed -i "/Proxy:/i\#clash-openwrt" $CONFIG_YAML @@ -86,11 +87,14 @@ else mv $CONFIG_YAML /etc/clash/dns.yaml cat /usr/share/clash/dns.yaml /etc/clash/dns.yaml > $CONFIG_YAML rm -rf /etc/clash/dns.yaml + else + sed -i "/dns:/i\#clash-openwrt" $CONFIG_YAML sed -i "/#clash-openwrt/a\#=============" $CONFIG_YAML sed -i '1,/#clash-openwrt/d' $CONFIG_YAML fi + sed -i "1i\port: ${http_port}" $CONFIG_YAML sed -i "2i\socks-port: ${socks_port}" $CONFIG_YAML sed -i "3i\redir-port: ${redir_port}" $CONFIG_YAML @@ -235,8 +239,10 @@ lan=$(uci get clash.config.proxylan 2>/dev/null) lanac=$(uci get clash.config.rejectlan 2>/dev/null) if [ $enable -eq 1 ]; then - -if [ $size -ne 0 ]; then +if [ ! -f /etc/clash/clash ]; then + echo "===============================$(date "+%Y-%m-%d %H:%M:%S") /etc/clash/clash not found, download and install clash ipk =====================================" >> /tmp/clash.log +else +if [ $size -ne 0 ] && [ -f /etc/clash/clash ]; then if [ $lan ]; then @@ -276,6 +282,7 @@ else fi +fi fi diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh b/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh new file mode 100755 index 0000000000..9005820ec2 --- /dev/null +++ b/package/jsda/luci-app-clash/root/usr/share/clash/check_core_version.sh @@ -0,0 +1,10 @@ +#!/bin/sh +if [ -f /usr/share/clash/new_core_version ];then +rm -rf /usr/share/clash/new_core_version +fi +new_core_version=`wget -qO- "https://github.com/frainzy1477/clash/tags"| grep "/frainzy1477/clash/releases/tag/"| head -n 1| awk -F "/tag/v" '{print $2}'| sed 's/\">//'` +if [ $new_core_version ]; then +echo $new_core_version > /usr/share/clash/new_core_version 2>&1 & >/dev/null +elif [ $new_core_version =="" ]; then +echo 0 > /usr/share/clash/new_core_version 2>&1 & >/dev/null +fi diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh b/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh index c22c2b1ddd..8d3f4dd96f 100755 --- a/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh +++ b/package/jsda/luci-app-clash/root/usr/share/clash/clash.sh @@ -3,6 +3,7 @@ subscribe_url=$(uci get clash.config.subscribe_url 2>/dev/null) subtype=$(uci get clash.config.subcri 2>/dev/null) urlv2ray=$(uci get clash.config.v2ray 2>/dev/null) urlsurge=$(uci get clash.config.surge 2>/dev/null) +cusrule=$(uci get clash.config.cusrule 2>/dev/null) CONFIG_YAML="/etc/clash/config.yaml" CONFIG_YAML_TEMP="/etc/clash/server.yaml" CONFIG_YAML_RULE="/usr/share/clash/rule.yaml" @@ -12,13 +13,17 @@ rm -rf /etc/clash/config.bak 2> /dev/null if [ $subtype == "clash" ];then wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $subscribe_url -O 2>&1 >1 $CONFIG_YAML elif [ $subtype == "v2rayn2clash" ];then -wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP +if [ $cusrule == 1 ];then +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP if [ -f $CONFIG_YAML_TEMP ];then sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML fi +else +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML +fi elif [ $subtype == "surge2clash" ];then -wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML fi rm -rf $CONFIG_YAML_TEMP 2> /dev/null uci set clash.config.enable=1 2> /dev/null @@ -27,15 +32,19 @@ uci commit clash 2> /dev/null else rm -rf /etc/clash/config.bak 2> /dev/null if [ $subtype == "clash" ];then -wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $subscribe_url -O 2>&1 >1 $CONFIG_YAML +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $subscribe_url -O 2>&1 >1 $CONFIG_YAML elif [ $subtype == "v2rayn2clash" ];then -wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP +if [ $cusrule == 1 ];then +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML_TEMP if [ -f $CONFIG_YAML_TEMP ];then sed -i '/Rule:/,$d' $CONFIG_YAML_TEMP cat $CONFIG_YAML_TEMP $CONFIG_YAML_RULE > $CONFIG_YAML fi +else +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlv2ray.$subscribe_url -O 2>&1 >1 $CONFIG_YAML +fi elif [ $subtype == "surge2clash" ];then -wget-ssl --timeout=30 --tries=2 --user-agent="User-Agent: Mozilla" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML +wget-ssl --timeout=30 --tries=5 --user-agent="User-Agent: Mozilla" $urlsurge.$subscribe_url -O 2>&1 >1 $CONFIG_YAML fi rm -rf $CONFIG_YAML_TEMP 2> /dev/null fi diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/clash_version b/package/jsda/luci-app-clash/root/usr/share/clash/clash_version index 26bea73e81..be386c9ede 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/clash_version +++ b/package/jsda/luci-app-clash/root/usr/share/clash/clash_version @@ -1 +1 @@ -0.31.0 +0.33.0 diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html index 2a2a18dcdc..0151591406 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html +++ b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/index.html @@ -3,9 +3,9 @@ - CLASH -DASHBOARD - + Clash Dashboard +
- + diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.d32d2df9dcc55f57282d.min.js b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.71cb9fd91422722c5ceb.min.js similarity index 64% rename from package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.d32d2df9dcc55f57282d.min.js rename to package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.71cb9fd91422722c5ceb.min.js index de05dc02e5..e7a4bcca59 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.d32d2df9dcc55f57282d.min.js +++ b/package/jsda/luci-app-clash/root/usr/share/clash/dashboard/js/1.bundle.71cb9fd91422722c5ceb.min.js @@ -9,7 +9,7 @@ Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0||(o[n]=e[n]);return o}n.d(t,"a",function(){return r})},,,function(e,t,n){e.exports=n(51)()},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(48)},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(40)(Object,"create");e.exports=r},function(e,t,n){var r=n(105);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(111);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},,,function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(39),o=n(84),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(22).Symbol;e.exports=r},function(e,t,n){var r=n(81),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){"use strict";n.r(t);var r=n(3),o=n(0),i=n.n(o),a=n(24),l=n.n(a),u=n(11),s=n.n(u),c=n(43),f=n.n(c),d=1073741823;var p=i.a.createContext||function(e,t){var n,r,i="__create-react-context-"+f()()+"__",a=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}}),t}l()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((i=r)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?n=0:(n="function"==typeof t?t(r,o):d,0!=(n|=0)&&this.emitter.set(e.value,n))}var i,a},r.render=function(){return this.props.children},n}(o.Component);a.childContextTypes=((n={})[i]=s.a.object.isRequired,n);var u=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}l()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?d:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?d:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return u.contextTypes=((r={})[i]=s.a.object,r),{Provider:a,Consumer:u}},h=n(1);function m(e){return"/"===e.charAt(0)}function v(e,t){for(var n=t,r=n+1,o=e.length;r1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&m(e),i=t&&m(t),a=o||i;if(e&&m(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var l=void 0;if(r.length){var u=r[r.length-1];l="."===u||".."===u||""===u}else l=!1;for(var s=0,c=r.length;c>=0;c--){var f=r[c];"."===f?v(r,c):".."===f?(v(r,c),s++):s&&(v(r,c),s--)}if(!a)for(;s--;s)r.unshift("..");!a||""===r[0]||r[0]&&m(r[0])||r.unshift("");var d=r.join("/");return l&&"/"!==d.substr(-1)&&(d+="/"),d},g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var b=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every(function(t,r){return e(t,n[r])});var r=void 0===t?"undefined":g(t);if(r!==(void 0===n?"undefined":g(n)))return!1;if("object"===r){var o=t.valueOf(),i=n.valueOf();if(o!==t||i!==n)return e(o,i);var a=Object.keys(t),l=Object.keys(n);return a.length===l.length&&a.every(function(r){return e(t[r],n[r])})}return!1},w=!0,x="Invariant failed";var _=function(e,t){if(!e)throw w?new Error(x):new Error(x+": "+(t||""))};function S(e){return"/"===e.charAt(0)?e:"/"+e}function T(e){return"/"===e.charAt(0)?e.substr(1):e}function k(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function C(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function E(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function P(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(h.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=y(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function O(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&b(e.state,t.state)}function R(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function $(e){void 0===e&&(e={}),M||_(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?I:r,i=n.hashType,a=void 0===i?"slash":i,l=e.basename?C(S(e.basename)):"",u=L[a],s=u.encodePath,c=u.decodePath;function f(){var e=c(U());return l&&(e=k(e,l)),P(e)}var d=R();function p(e){Object(h.a)(j,e),j.length=t.length,d.notifyListeners(j.location,j.action)}var m=!1,v=null;function y(){var e=U(),t=s(e);if(e!==t)F(t);else{var n=f(),r=j.location;if(!m&&O(r,n))return;if(v===E(n))return;v=null,function(e){if(m)m=!1,p();else{d.confirmTransitionTo(e,"POP",o,function(t){t?p({action:"POP",location:e}):function(e){var t=j.location,n=x.lastIndexOf(E(t));-1===n&&(n=0);var r=x.lastIndexOf(E(e));-1===r&&(r=0);var o=n-r;o&&(m=!0,T(o))}(e)})}}(n)}}var g=U(),b=s(g);g!==b&&F(b);var w=f(),x=[E(w)];function T(e){t.go(e)}var z=0;function N(e){1===(z+=e)&&1===e?window.addEventListener(D,y):0===z&&window.removeEventListener(D,y)}var A=!1;var j={length:t.length,action:"POP",location:w,createHref:function(e){return"#"+s(l+E(e))},push:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"PUSH",o,function(e){if(e){var t=E(n),r=s(l+t);if(U()!==r){v=t,function(e){window.location.hash=e}(r);var o=x.lastIndexOf(E(j.location)),i=x.slice(0,-1===o?0:o+1);i.push(t),x=i,p({action:"PUSH",location:n})}else p()}})},replace:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"REPLACE",o,function(e){if(e){var t=E(n),r=s(l+t);U()!==r&&(v=t,F(r));var o=x.indexOf(E(j.location));-1!==o&&(x[o]=t),p({action:"REPLACE",location:n})}})},go:T,goBack:function(){T(-1)},goForward:function(){T(1)},block:function(e){void 0===e&&(e=!1);var t=d.setPrompt(e);return A||(N(1),A=!0),function(){return A&&(A=!1,N(-1)),t()}},listen:function(e){var t=d.appendListener(e);return N(1),function(){N(-1),t()}}};return j}function W(e,t,n){return Math.min(Math.max(e,t),n)}var H=n(25),B=n.n(H),V=(n(28),n(8)),q=n(44),Q=n.n(q),K=function(e){var t=p();return t.displayName=e,t}("Router"),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e})),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(K.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(i.a.Component);var X=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;ot?n.splice(t,n.length-t,r):n.push(r),c({action:"PUSH",location:r,index:t,entries:n})}})},replace:function(e,t){var r=P(e,t,f(),y.location);s.confirmTransitionTo(r,"REPLACE",n,function(e){e&&(y.entries[y.index]=r,c({action:"REPLACE",location:r}))})},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=y.index+e;return t>=0&&t=0;t--){var n=e[t][i];n.modified||(Array.isArray(n.base)?P(n)&&_(n):E(n)&&_(n))}}function E(e){for(var t=e.base,n=e.draft,r=Object.keys(n),o=r.length-1;o>=0;o--){var a=r[o],l=t[a];if(void 0===l&&!p(t,a))return!0;var u=n[a],s=u&&u[i];if(s?s.base!==l:!h(u,l))return!0}return r.length!==Object.keys(t).length}function P(e){var t=e.draft;if(t.length!==e.base.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var O=Object.freeze({willFinalize:function(e,t,n){e.drafts.forEach(function(e){e[i].finalizing=!0}),n?a(t)&&t[i].scope===e&&C(e.drafts):(e.patches&&function e(t){if(t&&"object"==typeof t){var n=t[i];if(n){var r=n.base,o=n.draft,a=n.assigned;if(Array.isArray(t)){if(P(n)){if(_(n),a.length=!0,o.lengthc&&a[f-1]===l[f+s-1];)--f;for(var d=c;d=f;--v){var y=t.concat([v]);n[m+v-f]={op:"add",path:y,value:l[v]},h&&r.push({op:"remove",path:y})}h||r.push({op:"replace",path:t.concat(["length"]),value:a.length})}(e,t,n,r):function(e,t,n,r){var o=e.base,i=e.copy;f(e.assigned,function(e,a){var l=o[e],u=i[e],s=a?e in o?"replace":"add":"remove";if(l!==u||"replace"!==s){var c=t.concat(e);n.push("remove"===s?{op:s,path:c}:{op:s,path:c,value:u}),r.push("add"===s?{op:"remove",path:c}:"remove"===s?{op:"add",path:c,value:l}:{op:"replace",path:c,value:l})}})}(e,t,n,r)}function L(e,t){for(var n=0;n0;)r[o]=arguments[o+1];return u.produce(e,function(e){return t.call.apply(t,[n,e].concat(r))})}}if("function"!=typeof t)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("The third argument to `produce` must be a function or undefined");if(l(e)){var s=m.enter(),c=this.createProxy(e),f=!0;try{o=t(c),f=!1}finally{f?s.revoke():s.leave()}return o instanceof Promise?o.then(function(e){return s.usePatches(n),i.processResult(e,s)},function(e){throw s.revoke(),e}):(s.usePatches(n),this.processResult(o,s))}return void 0===(o=t(e))?e:o!==r?o:void 0},F.prototype.createDraft=function(e){if(!l(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var t=m.enter(),n=this.createProxy(e);return n[i].isManual=!0,t.leave(),n},F.prototype.finishDraft=function(e,t){var n=e&&e[i];if(!n||!n.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(n.finalized)throw new Error("The given draft is already finalized");var r=n.scope;return r.usePatches(t),this.processResult(void 0,r)},F.prototype.setAutoFreeze=function(e){this.autoFreeze=e},F.prototype.setUseProxies=function(e){this.useProxies=e,u(this,e?j:O)},F.prototype.applyPatches=function(e,t){return a(e)?L(e,t):this.produce(e,function(e){return L(e,t)})},F.prototype.processResult=function(e,t){var n=t.drafts[0],o=void 0!==e&&e!==n;if(this.willFinalize(t,e,o),o){if(n[i].modified)throw t.revoke(),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");l(e)&&(e=this.finalize(e,null,t)),t.patches&&(t.patches.push({op:"replace",path:[],value:e}),t.inversePatches.push({op:"replace",path:[],value:n[i].base}))}else e=this.finalize(n,[],t);return t.revoke(),t.patches&&t.patchListener(t.patches,t.inversePatches),e!==r?e:void 0},F.prototype.finalize=function(e,t,n){var r=this,o=e[i];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,n);if(o.scope!==n)return e;if(!o.modified)return o.base;if(!o.finalized){if(o.finalized=!0,this.finalizeTree(o.draft,t,n),this.onDelete)if(this.useProxies){var a=o.assigned;for(var l in a)a[l]||this.onDelete(o,l)}else{var u=o.base,s=o.copy;f(u,function(e){p(s,e)||r.onDelete(o,e)})}this.onCopy&&this.onCopy(o),this.autoFreeze&&n.canAutoFreeze&&Object.freeze(o.copy),t&&n.patches&&D(o,t,n.patches,n.inversePatches)}return o.copy},F.prototype.finalizeTree=function(e,t,n){var r=this,o=e[i];o&&(this.useProxies||(o.copy=c(o.draft,!0)),e=o.copy);var u=!!t&&!!n.patches,s=function(i,c,p){if(c===p)throw Error("Immer forbids circular references");var m=!!o&&p===e;if(a(c)){var v=m&&u&&!o.assigned[i]?t.concat(i):null;if(a(c=r.finalize(c,v,n))&&(n.canAutoFreeze=!1),Array.isArray(p)||d(p,i)?p[i]=c:Object.defineProperty(p,i,{value:c}),m&&c===o.base[i])return}else{if(m&&h(c,o.base[i]))return;l(c)&&!Object.isFrozen(c)&&f(c,s)}m&&r.onAssign&&r.onAssign(o,i,c)};return f(e,s),e};var $=new F,W=$.produce;$.setAutoFreeze.bind($),$.setUseProxies.bind($),$.applyPatches.bind($),$.createDraft.bind($),$.finishDraft.bind($);t.a=W}).call(this,n(33))},function(e,t,n){"use strict"; +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0||(o[n]=e[n]);return o}n.d(t,"a",function(){return r})},,,function(e,t,n){e.exports=n(51)()},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(48)},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(40)(Object,"create");e.exports=r},function(e,t,n){var r=n(105);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(111);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},,,function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(39),o=n(84),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(22).Symbol;e.exports=r},function(e,t,n){var r=n(81),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){"use strict";n.r(t);var r=n(3),o=n(0),i=n.n(o),a=n(24),l=n.n(a),u=n(11),s=n.n(u),c=n(43),f=n.n(c),d=1073741823;var p=i.a.createContext||function(e,t){var n,r,i="__create-react-context-"+f()()+"__",a=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}}),t}l()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((i=r)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?n=0:(n="function"==typeof t?t(r,o):d,0!==(n|=0)&&this.emitter.set(e.value,n))}var i,a},r.render=function(){return this.props.children},n}(o.Component);a.childContextTypes=((n={})[i]=s.a.object.isRequired,n);var u=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}l()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?d:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?d:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return u.contextTypes=((r={})[i]=s.a.object,r),{Provider:a,Consumer:u}},h=n(1);function m(e){return"/"===e.charAt(0)}function v(e,t){for(var n=t,r=n+1,o=e.length;r1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&m(e),i=t&&m(t),a=o||i;if(e&&m(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var l=void 0;if(r.length){var u=r[r.length-1];l="."===u||".."===u||""===u}else l=!1;for(var s=0,c=r.length;c>=0;c--){var f=r[c];"."===f?v(r,c):".."===f?(v(r,c),s++):s&&(v(r,c),s--)}if(!a)for(;s--;s)r.unshift("..");!a||""===r[0]||r[0]&&m(r[0])||r.unshift("");var d=r.join("/");return l&&"/"!==d.substr(-1)&&(d+="/"),d},g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var b=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every(function(t,r){return e(t,n[r])});var r=void 0===t?"undefined":g(t);if(r!==(void 0===n?"undefined":g(n)))return!1;if("object"===r){var o=t.valueOf(),i=n.valueOf();if(o!==t||i!==n)return e(o,i);var a=Object.keys(t),l=Object.keys(n);return a.length===l.length&&a.every(function(r){return e(t[r],n[r])})}return!1},w=!0,x="Invariant failed";var _=function(e,t){if(!e)throw w?new Error(x):new Error(x+": "+(t||""))};function S(e){return"/"===e.charAt(0)?e:"/"+e}function T(e){return"/"===e.charAt(0)?e.substr(1):e}function k(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function C(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function E(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function P(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(h.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=y(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function O(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&b(e.state,t.state)}function R(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function $(e){void 0===e&&(e={}),M||_(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?I:r,i=n.hashType,a=void 0===i?"slash":i,l=e.basename?C(S(e.basename)):"",u=L[a],s=u.encodePath,c=u.decodePath;function f(){var e=c(U());return l&&(e=k(e,l)),P(e)}var d=R();function p(e){Object(h.a)(j,e),j.length=t.length,d.notifyListeners(j.location,j.action)}var m=!1,v=null;function y(){var e=U(),t=s(e);if(e!==t)F(t);else{var n=f(),r=j.location;if(!m&&O(r,n))return;if(v===E(n))return;v=null,function(e){if(m)m=!1,p();else{d.confirmTransitionTo(e,"POP",o,function(t){t?p({action:"POP",location:e}):function(e){var t=j.location,n=x.lastIndexOf(E(t));-1===n&&(n=0);var r=x.lastIndexOf(E(e));-1===r&&(r=0);var o=n-r;o&&(m=!0,T(o))}(e)})}}(n)}}var g=U(),b=s(g);g!==b&&F(b);var w=f(),x=[E(w)];function T(e){t.go(e)}var z=0;function N(e){1===(z+=e)&&1===e?window.addEventListener(D,y):0===z&&window.removeEventListener(D,y)}var A=!1;var j={length:t.length,action:"POP",location:w,createHref:function(e){return"#"+s(l+E(e))},push:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"PUSH",o,function(e){if(e){var t=E(n),r=s(l+t);if(U()!==r){v=t,function(e){window.location.hash=e}(r);var o=x.lastIndexOf(E(j.location)),i=x.slice(0,-1===o?0:o+1);i.push(t),x=i,p({action:"PUSH",location:n})}else p()}})},replace:function(e,t){var n=P(e,void 0,void 0,j.location);d.confirmTransitionTo(n,"REPLACE",o,function(e){if(e){var t=E(n),r=s(l+t);U()!==r&&(v=t,F(r));var o=x.indexOf(E(j.location));-1!==o&&(x[o]=t),p({action:"REPLACE",location:n})}})},go:T,goBack:function(){T(-1)},goForward:function(){T(1)},block:function(e){void 0===e&&(e=!1);var t=d.setPrompt(e);return A||(N(1),A=!0),function(){return A&&(A=!1,N(-1)),t()}},listen:function(e){var t=d.appendListener(e);return N(1),function(){N(-1),t()}}};return j}function W(e,t,n){return Math.min(Math.max(e,t),n)}var H=n(25),B=n.n(H),V=(n(28),n(8)),q=n(44),Q=n.n(q),K=function(e){var t=p();return t.displayName=e,t}("Router"),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e})),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(K.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(i.a.Component);var X=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;ot?n.splice(t,n.length-t,r):n.push(r),c({action:"PUSH",location:r,index:t,entries:n})}})},replace:function(e,t){var r=P(e,t,f(),y.location);s.confirmTransitionTo(r,"REPLACE",n,function(e){e&&(y.entries[y.index]=r,c({action:"REPLACE",location:r}))})},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=y.index+e;return t>=0&&t=0;t--){var n=e[t][i];n.modified||(Array.isArray(n.base)?P(n)&&_(n):E(n)&&_(n))}}function E(e){for(var t=e.base,n=e.draft,r=Object.keys(n),o=r.length-1;o>=0;o--){var a=r[o],l=t[a];if(void 0===l&&!p(t,a))return!0;var u=n[a],s=u&&u[i];if(s?s.base!==l:!h(u,l))return!0}return r.length!==Object.keys(t).length}function P(e){var t=e.draft;if(t.length!==e.base.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var O=Object.freeze({willFinalize:function(e,t,n){e.drafts.forEach(function(e){e[i].finalizing=!0}),n?a(t)&&t[i].scope===e&&C(e.drafts):(e.patches&&function e(t){if(!t||"object"!=typeof t)return;var n=t[i];if(!n)return;var r=n.base;var o=n.draft;var a=n.assigned;if(Array.isArray(t)){if(P(n)){if(_(n),a.length=!0,o.lengthc&&a[f-1]===l[f+s-1];)--f;for(var d=c;d=f;--v){var y=t.concat([v]);n[m+v-f]={op:"add",path:y,value:l[v]},h&&r.push({op:"remove",path:y})}h||r.push({op:"replace",path:t.concat(["length"]),value:a.length})}(e,t,n,r):function(e,t,n,r){var o=e.base,i=e.copy;f(e.assigned,function(e,a){var l=o[e],u=i[e],s=a?e in o?"replace":"add":"remove";if(l!==u||"replace"!==s){var c=t.concat(e);n.push("remove"===s?{op:s,path:c}:{op:s,path:c,value:u}),r.push("add"===s?{op:"remove",path:c}:"remove"===s?{op:"add",path:c,value:l}:{op:"replace",path:c,value:l})}})}(e,t,n,r)}function L(e,t){for(var n=0;n0;)r[o]=arguments[o+1];return u.produce(e,function(e){return t.call.apply(t,[n,e].concat(r))})}}if("function"!=typeof t)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("The third argument to `produce` must be a function or undefined");if(l(e)){var s=m.enter(),c=this.createProxy(e),f=!0;try{o=t(c),f=!1}finally{f?s.revoke():s.leave()}return o instanceof Promise?o.then(function(e){return s.usePatches(n),i.processResult(e,s)},function(e){throw s.revoke(),e}):(s.usePatches(n),this.processResult(o,s))}return void 0===(o=t(e))?e:o!==r?o:void 0},F.prototype.produceWithPatches=function(e,t,n){var r,o,i=this;if("function"==typeof e)return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return i.produceWithPatches(t,function(t){return e.apply(void 0,[t].concat(n))})};if(n)throw new Error("A patch listener cannot be passed to produceWithPatches");return[this.produce(e,t,function(e,t){r=e,o=t}),r,o]},F.prototype.createDraft=function(e){if(!l(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var t=m.enter(),n=this.createProxy(e);return n[i].isManual=!0,t.leave(),n},F.prototype.finishDraft=function(e,t){var n=e&&e[i];if(!n||!n.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(n.finalized)throw new Error("The given draft is already finalized");var r=n.scope;return r.usePatches(t),this.processResult(void 0,r)},F.prototype.setAutoFreeze=function(e){this.autoFreeze=e},F.prototype.setUseProxies=function(e){this.useProxies=e,u(this,e?j:O)},F.prototype.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}return a(e)?L(e,t):this.produce(e,function(e){return L(e,t.slice(n+1))})},F.prototype.processResult=function(e,t){var n=t.drafts[0],o=void 0!==e&&e!==n;if(this.willFinalize(t,e,o),o){if(n[i].modified)throw t.revoke(),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");l(e)&&(e=this.finalize(e,null,t)),t.patches&&(t.patches.push({op:"replace",path:[],value:e}),t.inversePatches.push({op:"replace",path:[],value:n[i].base}))}else e=this.finalize(n,[],t);return t.revoke(),t.patches&&t.patchListener(t.patches,t.inversePatches),e!==r?e:void 0},F.prototype.finalize=function(e,t,n){var r=this,o=e[i];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,n);if(o.scope!==n)return e;if(!o.modified)return o.base;if(!o.finalized){if(o.finalized=!0,this.finalizeTree(o.draft,t,n),this.onDelete)if(this.useProxies){var a=o.assigned;for(var l in a)a[l]||this.onDelete(o,l)}else{var u=o.base,s=o.copy;f(u,function(e){p(s,e)||r.onDelete(o,e)})}this.onCopy&&this.onCopy(o),this.autoFreeze&&n.canAutoFreeze&&Object.freeze(o.copy),t&&n.patches&&D(o,t,n.patches,n.inversePatches)}return o.copy},F.prototype.finalizeTree=function(e,t,n){var r=this,o=e[i];o&&(this.useProxies||(o.copy=c(o.draft,!0)),e=o.copy);var u=!!t&&!!n.patches,s=function(i,c,p){if(c===p)throw Error("Immer forbids circular references");var m=!!o&&p===e;if(a(c)){var v=m&&u&&!o.assigned[i]?t.concat(i):null;if(a(c=r.finalize(c,v,n))&&(n.canAutoFreeze=!1),Array.isArray(p)||d(p,i)?p[i]=c:Object.defineProperty(p,i,{value:c}),m&&c===o.base[i])return}else{if(m&&h(c,o.base[i]))return;l(c)&&!Object.isFrozen(c)&&f(c,s)}m&&r.onAssign&&r.onAssign(o,i,c)};return f(e,s),e};var $=new F,W=$.produce;$.produceWithPatches.bind($),$.setAutoFreeze.bind($),$.setUseProxies.bind($),$.applyPatches.bind($),$.createDraft.bind($),$.finishDraft.bind($);t.a=W}).call(this,n(33))},function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @@ -54,4 +54,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var n=null,r=!1,o=3,i=-1,a=-1,l * @author Feross Aboukhadijeh * @license MIT */ -e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,n){"use strict";var r=n(4),o=n(30),i=n(60),a=n(61),l=n(36);function u(e){this.defaults=e,this.interceptors={request:new i,response:new i}}u.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=l(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},u.prototype.getUri=function(e){return e=l(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],function(e){u.prototype[e]=function(t,n){return this.request(r.merge(n||{},{method:e,url:t}))}}),r.forEach(["post","put","patch"],function(e){u.prototype[e]=function(t,n,o){return this.request(r.merge(o||{},{method:e,url:t,data:n}))}}),e.exports=u},function(e,t,n){"use strict";var r=n(4);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=o},function(e,t,n){"use strict";var r=n(4),o=n(62),i=n(31),a=n(32),l=n(69),u=n(70);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.baseURL&&!l(e.url)&&(e.url=u(e.baseURL,e.url)),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||a.adapter)(e).then(function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t},function(t){return i(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(35);e.exports=function(e,t,n){var o=n.config.validateStatus;!o||o(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(4),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,a={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(4);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(4);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,i,a){var l=[];l.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),r.isString(o)&&l.push("path="+o),r.isString(i)&&l.push("domain="+i),!0===a&&l.push("secure"),document.cookie=l.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(37);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new r(e),t(n.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o(function(t){e=t}),cancel:e}},e.exports=o},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"useImmer",function(){return i}),n.d(t,"useImmerReducer",function(){return a});var r=n(26),o=n(0);function i(e){var t=Object(o.useState)(e),n=t[1];return[t[0],Object(o.useCallback)(function(e){n(Object(r.a)(e))},[])]}function a(e,t,n){var i=Object(o.useCallback)(Object(r.a)(e),[e]);return Object(o.useReducer)(i,t,n)}},function(e,t,n){"use strict";n.r(t),n.d(t,"createContainer",function(){return o}),n.d(t,"useContainer",function(){return i});var r=n(0);function o(e){var t=r.createContext(null);return{Provider:function(n){var o=e(n.initialState);return r.createElement(t.Provider,{value:o},n.children)},useContainer:function(){var e=r.useContext(t);if(null===e)throw new Error("Component must be wrapped with ");return e}}}function i(e){return e.useContainer()}},,function(e,t,n){var r=n(78);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){var r=n(79),o=n(118);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n-1}},function(e,t,n){var r=n(15);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(40)(n(22),"Map");e.exports=r},function(e,t,n){var r=n(16);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(16);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(16);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(16);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},function(e,t,n){var r=n(116);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(21),o=n(117),i=n(19),a=n(20),l=1/0,u=r?r.prototype:void 0,s=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return s?s.call(t):"";var n=t+"";return"0"==n&&1/t==-l?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n=t?e:""+Array(t+1-r.length).join(n)+e},d={s:f,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+f(r,2,"0")+":"+f(o,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),o=t-r<0,i=e.clone().add(n+(o?-1:1),a);return Number(-(n+(t-r)/(o?r-i:i-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(s){return{M:a,y:u,w:i,d:o,h:r,m:n,s:t,ms:e,Q:l}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",m={};m[h]=p;var v=function(e){return e instanceof w},y=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)m[e]&&(r=e),t&&(m[e]=t,r=e);else{var o=e.name;m[o]=e,r=o}return n||(h=r),r},g=function(e,t,n){if(v(e))return e.clone();var r=t?"string"==typeof t?{format:t,pl:n}:t:{};return r.date=e,new w(r)},b=d;b.l=y,b.i=v,b.w=function(e,t){return g(e,{locale:t.$L,utc:t.$u})};var w=function(){function f(e){this.$L=this.$L||y(e.locale,null,!0),this.parse(e)}var d=f.prototype;return d.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(s);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},d.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},d.$utils=function(){return b},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(e,t){var n=g(e);return this.startOf(t)<=n&&n<=this.endOf(t)},d.isAfter=function(e,t){return g(e) div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',r=e.head||e.getElementsByTagName("head")[0],o=e.createElement("style");o.id="detectElementResize",o.type="text/css",null!=t&&o.setAttribute("nonce",t),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(e.createTextNode(n)),r.appendChild(o)}}(o),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=o.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='
',e.appendChild(e.__resizeTriggers__),u(e),e.addEventListener("scroll",s,!0),d&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==y&&u(e)},e.__resizeTriggers__.addEventListener(d,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(r)}},removeResizeListener:function(e,t){if(i)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(d,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(n){}}}}}var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(){function e(e,t){for(var n=0;n=t?e.call(null):r.id=requestAnimationFrame(o)})};return r}var p=-1;var h=null;function m(e){if(void 0===e&&(e=!1),null===h||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?h="positive-descending":(t.scrollLeft=1,h=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),h}return h}var v=150,y=function(e){var t=e.columnIndex;e.data;return e.rowIndex+":"+t};function g(e){var t,n,a=e.getColumnOffset,s=e.getColumnStartIndexForOffset,c=e.getColumnStopIndexForStartIndex,h=e.getColumnWidth,g=e.getEstimatedTotalHeight,w=e.getEstimatedTotalWidth,x=e.getOffsetForColumnAndAlignment,_=e.getOffsetForRowAndAlignment,S=e.getRowHeight,T=e.getRowOffset,k=e.getRowStartIndexForOffset,C=e.getRowStopIndexForStartIndex,E=e.initInstanceProps,P=e.shouldResetStyleCacheOnItemSizeChange,O=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=E(n.props,i(i(n))),n._resetIsScrollingTimeoutId=null,n._outerRef=void 0,n.state={instance:i(i(n)),isScrolling:!1,horizontalScrollDirection:"forward",scrollLeft:"number"==typeof n.props.initialScrollLeft?n.props.initialScrollLeft:0,scrollTop:"number"==typeof n.props.initialScrollTop?n.props.initialScrollTop:0,scrollUpdateWasRequested:!1,verticalScrollDirection:"forward"},n._callOnItemsRendered=void 0,n._callOnItemsRendered=l(function(e,t,r,o,i,a,l,u){return n.props.onItemsRendered({overscanColumnStartIndex:e,overscanColumnStopIndex:t,overscanRowStartIndex:r,overscanRowStopIndex:o,visibleColumnStartIndex:i,visibleColumnStopIndex:a,visibleRowStartIndex:l,visibleRowStopIndex:u})}),n._callOnScroll=void 0,n._callOnScroll=l(function(e,t,r,o,i){return n.props.onScroll({horizontalScrollDirection:r,scrollLeft:e,scrollTop:t,verticalScrollDirection:o,scrollUpdateWasRequested:i})}),n._getItemStyle=void 0,n._getItemStyle=function(e,t){var r,o,i=n.props,l=i.columnWidth,u=i.direction,s=i.rowHeight,c=n._getItemStyleCache(P&&l,P&&u,P&&s),f=e+":"+t;c.hasOwnProperty(f)?r=c[f]:c[f]=((o={position:"absolute"})["rtl"===u?"right":"left"]=a(n.props,t,n._instanceProps),o.top=T(n.props,e,n._instanceProps),o.height=S(n.props,e,n._instanceProps),o.width=h(n.props,t,n._instanceProps),r=o);return r},n._getItemStyleCache=void 0,n._getItemStyleCache=l(function(e,t,n){return{}}),n._onScroll=function(e){var t=e.currentTarget,r=t.clientHeight,o=t.clientWidth,i=t.scrollLeft,a=t.scrollTop,l=t.scrollHeight,u=t.scrollWidth;n.setState(function(e){if(e.scrollLeft===i&&e.scrollTop===a)return null;var t=n.props.direction,s=i;if("rtl"===t)switch(m()){case"negative":s=-i;break;case"positive-descending":s=u-o-i}s=Math.max(0,Math.min(s,u-o));var c=Math.max(0,Math.min(a,l-r));return{isScrolling:!0,horizontalScrollDirection:e.scrollLefts?h:0,y=m>l?h:0;this.scrollTo({scrollLeft:void 0!==r?x(this.props,r,n,f,this._instanceProps,y):f,scrollTop:void 0!==o?_(this.props,o,n,d,this._instanceProps,v):d})},n.componentDidMount=function(){var e=this.props,t=e.initialScrollLeft,n=e.initialScrollTop;if(null!=this._outerRef){var r=this._outerRef;"number"==typeof t&&(r.scrollLeft=t),"number"==typeof n&&(r.scrollTop=n)}this._callPropsCallbacks()},n.componentDidUpdate=function(){var e=this.props.direction,t=this.state,n=t.scrollLeft,r=t.scrollTop;if(t.scrollUpdateWasRequested&&null!=this._outerRef){var o=this._outerRef;if("rtl"===e)switch(m()){case"negative":o.scrollLeft=-n;break;case"positive-ascending":o.scrollLeft=n;break;default:var i=o.clientWidth,a=o.scrollWidth;o.scrollLeft=a-i-n}else o.scrollLeft=Math.max(0,n);o.scrollTop=Math.max(0,r)}this._callPropsCallbacks()},n.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&f(this._resetIsScrollingTimeoutId)},n.render=function(){var e=this.props,t=e.children,n=e.className,o=e.columnCount,i=e.direction,a=e.height,l=e.innerRef,s=e.innerElementType,c=e.innerTagName,f=e.itemData,d=e.itemKey,p=void 0===d?y:d,h=e.outerElementType,m=e.outerTagName,v=e.rowCount,b=e.style,x=e.useIsScrolling,_=e.width,S=this.state.isScrolling,T=this._getHorizontalRangeToRender(),k=T[0],C=T[1],E=this._getVerticalRangeToRender(),P=E[0],O=E[1],R=[];if(o>0&&v)for(var M=P;M<=O;M++)for(var I=k;I<=C;I++)R.push(Object(u.createElement)(t,{columnIndex:I,data:f,isScrolling:x?S:void 0,key:p({columnIndex:I,data:f,rowIndex:M}),rowIndex:M,style:this._getItemStyle(M,I)}));var z=g(this.props,this._instanceProps),N=w(this.props,this._instanceProps);return Object(u.createElement)(h||m||"div",{className:n,onScroll:this._onScroll,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:a,width:_,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:i},b)},Object(u.createElement)(s||c||"div",{children:R,ref:l,style:{height:z,pointerEvents:S?"none":void 0,width:N}}))},n._callPropsCallbacks=function(){var e=this.props,t=e.columnCount,n=e.onItemsRendered,r=e.onScroll,o=e.rowCount;if("function"==typeof n&&t>0&&o>0){var i=this._getHorizontalRangeToRender(),a=i[0],l=i[1],u=i[2],s=i[3],c=this._getVerticalRangeToRender(),f=c[0],d=c[1],p=c[2],h=c[3];this._callOnItemsRendered(a,l,f,d,u,s,p,h)}if("function"==typeof r){var m=this.state,v=m.horizontalScrollDirection,y=m.scrollLeft,g=m.scrollTop,b=m.scrollUpdateWasRequested,w=m.verticalScrollDirection;this._callOnScroll(y,g,v,w,b)}},n._getHorizontalRangeToRender=function(){var e=this.props,t=e.columnCount,n=e.overscanColumnCount,r=e.overscanColumnsCount,o=e.overscanCount,i=e.rowCount,a=this.state,l=a.horizontalScrollDirection,u=a.isScrolling,f=a.scrollLeft,d=n||r||o||1;if(0===t||0===i)return[0,0,0,0];var p=s(this.props,f,this._instanceProps),h=c(this.props,p,f,this._instanceProps),m=u&&"backward"!==l?1:Math.max(1,d),v=u&&"forward"!==l?1:Math.max(1,d);return[Math.max(0,p-m),Math.max(0,Math.min(t-1,h+v)),p,h]},n._getVerticalRangeToRender=function(){var e=this.props,t=e.columnCount,n=e.overscanCount,r=e.overscanRowCount,o=e.overscanRowsCount,i=e.rowCount,a=this.state,l=a.isScrolling,u=a.verticalScrollDirection,s=a.scrollTop,c=r||o||n||1;if(0===t||0===i)return[0,0,0,0];var f=k(this.props,s,this._instanceProps),d=C(this.props,f,s,this._instanceProps),p=l&&"backward"!==u?1:Math.max(1,c),h=l&&"forward"!==u?1:Math.max(1,c);return[Math.max(0,f-p),Math.max(0,Math.min(i-1,d+h)),f,d]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,useIsScrolling:!1},n}var b=function(e,t){e.children,e.direction,e.height,e.innerTagName,e.outerTagName,e.overscanColumnsCount,e.overscanCount,e.overscanRowsCount,e.width,t.instance},w=function(e,t){var n=e.rowCount,r=t.rowMetadataMap,o=t.estimatedRowHeight,i=t.lastMeasuredRowIndex,a=0;if(i>=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},x=function(e,t){var n=e.columnCount,r=t.columnMetadataMap,o=t.estimatedColumnWidth,i=t.lastMeasuredColumnIndex,a=0;if(i>=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},_=function(e,t,n,r){var o,i,a;if("column"===e?(o=r.columnMetadataMap,i=t.columnWidth,a=r.lastMeasuredColumnIndex):(o=r.rowMetadataMap,i=t.rowHeight,a=r.lastMeasuredRowIndex),n>a){var l=0;if(a>=0){var u=o[a];l=u.offset+u.size}for(var s=a+1;s<=n;s++){var c=i(s);o[s]={offset:l,size:c},l+=c}"column"===e?r.lastMeasuredColumnIndex=n:r.lastMeasuredRowIndex=n}return o[n]},S=function(e,t,n,r){var o,i;return"column"===e?(o=n.columnMetadataMap,i=n.lastMeasuredColumnIndex):(o=n.rowMetadataMap,i=n.lastMeasuredRowIndex),(i>0?o[i].offset:0)>=r?T(e,t,n,i,0,r):k(e,t,n,Math.max(0,i),r)},T=function(e,t,n,r,o,i){for(;o<=r;){var a=o+Math.floor((r-o)/2),l=_(e,t,a,n).offset;if(l===i)return a;li&&(r=a-1)}return o>0?o-1:0},k=function(e,t,n,r,o){for(var i="column"===e?t.columnCount:t.rowCount,a=1;r=f-l&&o<=c+l?"auto":"center"),r){case"start":return c;case"end":return f;case"center":return Math.round(f+(c-f)/2);case"auto":default:return o>=f&&o<=c?o:f>c?f:o0)for(var P=k;P<=C;P++)E.push(Object(u.createElement)(t,{data:d,key:h(P,d),index:P,isScrolling:b?x:void 0,style:this._getItemStyle(P)}));var R=s(this.props,this._instanceProps);return Object(u.createElement)(v||y||"div",{className:n,onScroll:S,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:i,width:w,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},g)},Object(u.createElement)(l||c||"div",{children:E,ref:a,style:{height:_?"100%":R,pointerEvents:x?"none":void 0,width:_?R:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var i=this.state,a=i.scrollDirection,l=i.scrollOffset,u=i.scrollUpdateWasRequested;this._callOnScroll(a,l,u)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,i=r.scrollDirection,a=r.scrollOffset;if(0===t)return[0,0,0,0];var l=h(this.props,a,this._instanceProps),u=v(this.props,l,a,this._instanceProps),s=o&&"backward"!==i?1:Math.max(1,n),c=o&&"forward"!==i?1:Math.max(1,n);return[Math.max(0,l-s),Math.max(0,Math.min(t-1,u+c)),l,u]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var M=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},I=function(e,t,n){var r=e.itemSize,o=n.itemMetadataMap,i=n.lastMeasuredIndex;if(t>i){var a=0;if(i>=0){var l=o[i];a=l.offset+l.size}for(var u=i+1;u<=t;u++){var s=r(u);o[u]={offset:a,size:s},a+=s}n.lastMeasuredIndex=t}return o[t]},z=function(e,t,n,r,o){for(;r<=n;){var i=r+Math.floor((n-r)/2),a=I(e,i,t).offset;if(a===o)return i;ao&&(n=i-1)}return r>0?r-1:0},N=function(e,t,n,r){for(var o=e.itemCount,i=1;n=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},j=R({getItemOffset:function(e,t,n){return I(e,t,n).offset},getItemSize:function(e,t,n){return n.itemMetadataMap[t].size},getEstimatedTotalSize:A,getOffsetForIndexAndAlignment:function(e,t,n,r,o){var i=e.direction,a=e.height,l=e.layout,u=e.width,s="horizontal"===i||"horizontal"===l?u:a,c=I(e,t,o),f=A(e,o),d=Math.max(0,Math.min(f-s,c.offset)),p=Math.max(0,c.offset-s+c.size);switch("smart"===n&&(n=r>=p-s&&r<=d+s?"auto":"center"),n){case"start":return d;case"end":return p;case"center":return Math.round(p+(d-p)/2);case"auto":default:return r>=p&&r<=d?r:r0?r[o].offset:0)>=n?z(e,t,o,0,n):N(e,t,Math.max(0,o),n)}(e,n,t)},getStopIndexForStartIndex:function(e,t,n,r){for(var o=e.direction,i=e.height,a=e.itemCount,l=e.layout,u=e.width,s="horizontal"===o||"horizontal"===l?u:i,c=I(e,t,r),f=n+s,d=c.offset+c.size,p=t;p=f-u&&r<=c+u?"auto":"center"),n){case"start":return c;case"end":return f;case"center":var d=Math.round(f+(c-f)/2);return ds+Math.floor(u/2)?s:d;case"auto":default:return r>=f&&r<=c?r:f>c?f:r=f-l&&r<=c+l?"auto":"center"),n){case"start":return c;case"end":return f;case"center":var d=Math.round(f+(c-f)/2);return ds+Math.floor(l/2)?s:d;case"auto":default:return r>=f&&r<=c?r:f>c?f:r=p-c&&r<=d+c?"auto":"center"),n){case"start":return d;case"end":return p;case"center":var h=Math.round(p+(d-p)/2);return hf+Math.floor(c/2)?f:h;case"auto":default:return r>=p&&r<=d?r:r=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(4);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(4);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,i,a){var l=[];l.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),r.isString(o)&&l.push("path="+o),r.isString(i)&&l.push("domain="+i),!0===a&&l.push("secure"),document.cookie=l.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(37);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new r(e),t(n.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o(function(t){e=t}),cancel:e}},e.exports=o},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"useImmer",function(){return i}),n.d(t,"useImmerReducer",function(){return a});var r=n(26),o=n(0);function i(e){var t=Object(o.useState)(e),n=t[1];return[t[0],Object(o.useCallback)(function(e){n(Object(r.a)(e))},[])]}function a(e,t,n){var i=Object(o.useCallback)(Object(r.a)(e),[e]);return Object(o.useReducer)(i,t,n)}},function(e,t,n){"use strict";n.r(t),n.d(t,"createContainer",function(){return o}),n.d(t,"useContainer",function(){return i});var r=n(0);function o(e){var t=r.createContext(null);return{Provider:function(n){var o=e(n.initialState);return r.createElement(t.Provider,{value:o},n.children)},useContainer:function(){var e=r.useContext(t);if(null===e)throw new Error("Component must be wrapped with ");return e}}}function i(e){return e.useContainer()}},,function(e,t,n){var r=n(78);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){var r=n(79),o=n(118);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n-1}},function(e,t,n){var r=n(15);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(40)(n(22),"Map");e.exports=r},function(e,t,n){var r=n(16);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(16);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(16);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(16);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},function(e,t,n){var r=n(116);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(21),o=n(117),i=n(19),a=n(20),l=1/0,u=r?r.prototype:void 0,s=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return s?s.call(t):"";var n=t+"";return"0"==n&&1/t==-l?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n=t?e:""+Array(t+1-r.length).join(n)+e},d={s:f,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+f(r,2,"0")+":"+f(o,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),o=t-r<0,i=e.clone().add(n+(o?-1:1),a);return Number(-(n+(t-r)/(o?r-i:i-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(s){return{M:a,y:u,w:i,d:o,h:r,m:n,s:t,ms:e,Q:l}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",m={};m[h]=p;var v=function(e){return e instanceof w},y=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)m[e]&&(r=e),t&&(m[e]=t,r=e);else{var o=e.name;m[o]=e,r=o}return n||(h=r),r},g=function(e,t,n){if(v(e))return e.clone();var r=t?"string"==typeof t?{format:t,pl:n}:t:{};return r.date=e,new w(r)},b=d;b.l=y,b.i=v,b.w=function(e,t){return g(e,{locale:t.$L,utc:t.$u})};var w=function(){function f(e){this.$L=this.$L||y(e.locale,null,!0),this.parse(e)}var d=f.prototype;return d.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(s);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},d.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},d.$utils=function(){return b},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(e,t){var n=g(e);return this.startOf(t)<=n&&n<=this.endOf(t)},d.isAfter=function(e,t){return g(e) div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',r=e.head||e.getElementsByTagName("head")[0],o=e.createElement("style");o.id="detectElementResize",o.type="text/css",null!=t&&o.setAttribute("nonce",t),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(e.createTextNode(n)),r.appendChild(o)}}(o),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=o.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='
',e.appendChild(e.__resizeTriggers__),u(e),e.addEventListener("scroll",s,!0),d&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==y&&u(e)},e.__resizeTriggers__.addEventListener(d,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(r)}},removeResizeListener:function(e,t){if(i)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(d,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(n){}}}}}var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(){function e(e,t){for(var n=0;n=t?e.call(null):r.id=requestAnimationFrame(o)})};return r}var p=-1;var h=null;function m(e){if(void 0===e&&(e=!1),null===h||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?h="positive-descending":(t.scrollLeft=1,h=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),h}return h}var v=150,y=function(e){var t=e.columnIndex;e.data;return e.rowIndex+":"+t};function g(e){var t,n,a=e.getColumnOffset,s=e.getColumnStartIndexForOffset,c=e.getColumnStopIndexForStartIndex,h=e.getColumnWidth,g=e.getEstimatedTotalHeight,w=e.getEstimatedTotalWidth,x=e.getOffsetForColumnAndAlignment,_=e.getOffsetForRowAndAlignment,S=e.getRowHeight,T=e.getRowOffset,k=e.getRowStartIndexForOffset,C=e.getRowStopIndexForStartIndex,E=e.initInstanceProps,P=e.shouldResetStyleCacheOnItemSizeChange,O=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=E(n.props,i(i(n))),n._resetIsScrollingTimeoutId=null,n._outerRef=void 0,n.state={instance:i(i(n)),isScrolling:!1,horizontalScrollDirection:"forward",scrollLeft:"number"==typeof n.props.initialScrollLeft?n.props.initialScrollLeft:0,scrollTop:"number"==typeof n.props.initialScrollTop?n.props.initialScrollTop:0,scrollUpdateWasRequested:!1,verticalScrollDirection:"forward"},n._callOnItemsRendered=void 0,n._callOnItemsRendered=l(function(e,t,r,o,i,a,l,u){return n.props.onItemsRendered({overscanColumnStartIndex:e,overscanColumnStopIndex:t,overscanRowStartIndex:r,overscanRowStopIndex:o,visibleColumnStartIndex:i,visibleColumnStopIndex:a,visibleRowStartIndex:l,visibleRowStopIndex:u})}),n._callOnScroll=void 0,n._callOnScroll=l(function(e,t,r,o,i){return n.props.onScroll({horizontalScrollDirection:r,scrollLeft:e,scrollTop:t,verticalScrollDirection:o,scrollUpdateWasRequested:i})}),n._getItemStyle=void 0,n._getItemStyle=function(e,t){var r,o,i=n.props,l=i.columnWidth,u=i.direction,s=i.rowHeight,c=n._getItemStyleCache(P&&l,P&&u,P&&s),f=e+":"+t;c.hasOwnProperty(f)?r=c[f]:c[f]=((o={position:"absolute"})["rtl"===u?"right":"left"]=a(n.props,t,n._instanceProps),o.top=T(n.props,e,n._instanceProps),o.height=S(n.props,e,n._instanceProps),o.width=h(n.props,t,n._instanceProps),r=o);return r},n._getItemStyleCache=void 0,n._getItemStyleCache=l(function(e,t,n){return{}}),n._onScroll=function(e){var t=e.currentTarget,r=t.clientHeight,o=t.clientWidth,i=t.scrollLeft,a=t.scrollTop,l=t.scrollHeight,u=t.scrollWidth;n.setState(function(e){if(e.scrollLeft===i&&e.scrollTop===a)return null;var t=n.props.direction,s=i;if("rtl"===t)switch(m()){case"negative":s=-i;break;case"positive-descending":s=u-o-i}s=Math.max(0,Math.min(s,u-o));var c=Math.max(0,Math.min(a,l-r));return{isScrolling:!0,horizontalScrollDirection:e.scrollLefts?h:0,y=m>l?h:0;this.scrollTo({scrollLeft:void 0!==r?x(this.props,r,n,f,this._instanceProps,y):f,scrollTop:void 0!==o?_(this.props,o,n,d,this._instanceProps,v):d})},n.componentDidMount=function(){var e=this.props,t=e.initialScrollLeft,n=e.initialScrollTop;if(null!=this._outerRef){var r=this._outerRef;"number"==typeof t&&(r.scrollLeft=t),"number"==typeof n&&(r.scrollTop=n)}this._callPropsCallbacks()},n.componentDidUpdate=function(){var e=this.props.direction,t=this.state,n=t.scrollLeft,r=t.scrollTop;if(t.scrollUpdateWasRequested&&null!=this._outerRef){var o=this._outerRef;if("rtl"===e)switch(m()){case"negative":o.scrollLeft=-n;break;case"positive-ascending":o.scrollLeft=n;break;default:var i=o.clientWidth,a=o.scrollWidth;o.scrollLeft=a-i-n}else o.scrollLeft=Math.max(0,n);o.scrollTop=Math.max(0,r)}this._callPropsCallbacks()},n.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&f(this._resetIsScrollingTimeoutId)},n.render=function(){var e=this.props,t=e.children,n=e.className,o=e.columnCount,i=e.direction,a=e.height,l=e.innerRef,s=e.innerElementType,c=e.innerTagName,f=e.itemData,d=e.itemKey,p=void 0===d?y:d,h=e.outerElementType,m=e.outerTagName,v=e.rowCount,b=e.style,x=e.useIsScrolling,_=e.width,S=this.state.isScrolling,T=this._getHorizontalRangeToRender(),k=T[0],C=T[1],E=this._getVerticalRangeToRender(),P=E[0],O=E[1],R=[];if(o>0&&v)for(var M=P;M<=O;M++)for(var I=k;I<=C;I++)R.push(Object(u.createElement)(t,{columnIndex:I,data:f,isScrolling:x?S:void 0,key:p({columnIndex:I,data:f,rowIndex:M}),rowIndex:M,style:this._getItemStyle(M,I)}));var z=g(this.props,this._instanceProps),N=w(this.props,this._instanceProps);return Object(u.createElement)(h||m||"div",{className:n,onScroll:this._onScroll,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:a,width:_,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:i},b)},Object(u.createElement)(s||c||"div",{children:R,ref:l,style:{height:z,pointerEvents:S?"none":void 0,width:N}}))},n._callPropsCallbacks=function(){var e=this.props,t=e.columnCount,n=e.onItemsRendered,r=e.onScroll,o=e.rowCount;if("function"==typeof n&&t>0&&o>0){var i=this._getHorizontalRangeToRender(),a=i[0],l=i[1],u=i[2],s=i[3],c=this._getVerticalRangeToRender(),f=c[0],d=c[1],p=c[2],h=c[3];this._callOnItemsRendered(a,l,f,d,u,s,p,h)}if("function"==typeof r){var m=this.state,v=m.horizontalScrollDirection,y=m.scrollLeft,g=m.scrollTop,b=m.scrollUpdateWasRequested,w=m.verticalScrollDirection;this._callOnScroll(y,g,v,w,b)}},n._getHorizontalRangeToRender=function(){var e=this.props,t=e.columnCount,n=e.overscanColumnCount,r=e.overscanColumnsCount,o=e.overscanCount,i=e.rowCount,a=this.state,l=a.horizontalScrollDirection,u=a.isScrolling,f=a.scrollLeft,d=n||r||o||1;if(0===t||0===i)return[0,0,0,0];var p=s(this.props,f,this._instanceProps),h=c(this.props,p,f,this._instanceProps),m=u&&"backward"!==l?1:Math.max(1,d),v=u&&"forward"!==l?1:Math.max(1,d);return[Math.max(0,p-m),Math.max(0,Math.min(t-1,h+v)),p,h]},n._getVerticalRangeToRender=function(){var e=this.props,t=e.columnCount,n=e.overscanCount,r=e.overscanRowCount,o=e.overscanRowsCount,i=e.rowCount,a=this.state,l=a.isScrolling,u=a.verticalScrollDirection,s=a.scrollTop,c=r||o||n||1;if(0===t||0===i)return[0,0,0,0];var f=k(this.props,s,this._instanceProps),d=C(this.props,f,s,this._instanceProps),p=l&&"backward"!==u?1:Math.max(1,c),h=l&&"forward"!==u?1:Math.max(1,c);return[Math.max(0,f-p),Math.max(0,Math.min(i-1,d+h)),f,d]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,useIsScrolling:!1},n}var b=function(e,t){e.children,e.direction,e.height,e.innerTagName,e.outerTagName,e.overscanColumnsCount,e.overscanCount,e.overscanRowsCount,e.width,t.instance},w=function(e,t){var n=e.rowCount,r=t.rowMetadataMap,o=t.estimatedRowHeight,i=t.lastMeasuredRowIndex,a=0;if(i>=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},x=function(e,t){var n=e.columnCount,r=t.columnMetadataMap,o=t.estimatedColumnWidth,i=t.lastMeasuredColumnIndex,a=0;if(i>=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},_=function(e,t,n,r){var o,i,a;if("column"===e?(o=r.columnMetadataMap,i=t.columnWidth,a=r.lastMeasuredColumnIndex):(o=r.rowMetadataMap,i=t.rowHeight,a=r.lastMeasuredRowIndex),n>a){var l=0;if(a>=0){var u=o[a];l=u.offset+u.size}for(var s=a+1;s<=n;s++){var c=i(s);o[s]={offset:l,size:c},l+=c}"column"===e?r.lastMeasuredColumnIndex=n:r.lastMeasuredRowIndex=n}return o[n]},S=function(e,t,n,r){var o,i;return"column"===e?(o=n.columnMetadataMap,i=n.lastMeasuredColumnIndex):(o=n.rowMetadataMap,i=n.lastMeasuredRowIndex),(i>0?o[i].offset:0)>=r?T(e,t,n,i,0,r):k(e,t,n,Math.max(0,i),r)},T=function(e,t,n,r,o,i){for(;o<=r;){var a=o+Math.floor((r-o)/2),l=_(e,t,a,n).offset;if(l===i)return a;li&&(r=a-1)}return o>0?o-1:0},k=function(e,t,n,r,o){for(var i="column"===e?t.columnCount:t.rowCount,a=1;r=f-l&&o<=c+l?"auto":"center"),r){case"start":return c;case"end":return f;case"center":return Math.round(f+(c-f)/2);case"auto":default:return o>=f&&o<=c?o:f>c?f:o0)for(var P=k;P<=C;P++)E.push(Object(u.createElement)(t,{data:d,key:h(P,d),index:P,isScrolling:b?x:void 0,style:this._getItemStyle(P)}));var R=s(this.props,this._instanceProps);return Object(u.createElement)(v||y||"div",{className:n,onScroll:S,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:i,width:w,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},g)},Object(u.createElement)(l||c||"div",{children:E,ref:a,style:{height:_?"100%":R,pointerEvents:x?"none":void 0,width:_?R:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var i=this.state,a=i.scrollDirection,l=i.scrollOffset,u=i.scrollUpdateWasRequested;this._callOnScroll(a,l,u)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,i=r.scrollDirection,a=r.scrollOffset;if(0===t)return[0,0,0,0];var l=h(this.props,a,this._instanceProps),u=v(this.props,l,a,this._instanceProps),s=o&&"backward"!==i?1:Math.max(1,n),c=o&&"forward"!==i?1:Math.max(1,n);return[Math.max(0,l-s),Math.max(0,Math.min(t-1,u+c)),l,u]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var M=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},I=function(e,t,n){var r=e.itemSize,o=n.itemMetadataMap,i=n.lastMeasuredIndex;if(t>i){var a=0;if(i>=0){var l=o[i];a=l.offset+l.size}for(var u=i+1;u<=t;u++){var s=r(u);o[u]={offset:a,size:s},a+=s}n.lastMeasuredIndex=t}return o[t]},z=function(e,t,n,r,o){for(;r<=n;){var i=r+Math.floor((n-r)/2),a=I(e,i,t).offset;if(a===o)return i;ao&&(n=i-1)}return r>0?r-1:0},N=function(e,t,n,r){for(var o=e.itemCount,i=1;n=n&&(i=n-1),i>=0){var l=r[i];a=l.offset+l.size}return a+(n-i-1)*o},j=R({getItemOffset:function(e,t,n){return I(e,t,n).offset},getItemSize:function(e,t,n){return n.itemMetadataMap[t].size},getEstimatedTotalSize:A,getOffsetForIndexAndAlignment:function(e,t,n,r,o){var i=e.direction,a=e.height,l=e.layout,u=e.width,s="horizontal"===i||"horizontal"===l?u:a,c=I(e,t,o),f=A(e,o),d=Math.max(0,Math.min(f-s,c.offset)),p=Math.max(0,c.offset-s+c.size);switch("smart"===n&&(n=r>=p-s&&r<=d+s?"auto":"center"),n){case"start":return d;case"end":return p;case"center":return Math.round(p+(d-p)/2);case"auto":default:return r>=p&&r<=d?r:r0?r[o].offset:0)>=n?z(e,t,o,0,n):N(e,t,Math.max(0,o),n)}(e,n,t)},getStopIndexForStartIndex:function(e,t,n,r){for(var o=e.direction,i=e.height,a=e.itemCount,l=e.layout,u=e.width,s="horizontal"===o||"horizontal"===l?u:i,c=I(e,t,r),f=n+s,d=c.offset+c.size,p=t;p=f-u&&r<=c+u?"auto":"center"),n){case"start":return c;case"end":return f;case"center":var d=Math.round(f+(c-f)/2);return ds+Math.floor(u/2)?s:d;case"auto":default:return r>=f&&r<=c?r:f>c?f:r=f-l&&r<=c+l?"auto":"center"),n){case"start":return c;case"end":return f;case"center":var d=Math.round(f+(c-f)/2);return ds+Math.floor(l/2)?s:d;case"auto":default:return r>=f&&r<=c?r:f>c?f:r=p-c&&r<=d+c?"auto":"center"),n){case"start":return d;case"end":return p;case"center":var h=Math.round(p+(d-p)/2);return hf+Math.floor(c/2)?f:h;case"auto":default:return r>=p&&r<=d?r:rl[0]&&n[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorageItem=function(e,t){return void 0===t&&(t=""),window.localStorage.getItem(e)||t},t.setLocalStorageItem=function(e,t){return window.localStorage.setItem(e,t)},t.removeLocalStorageItem=function(e){return window.localStorage.removeItem(e)},t.noop=function(){},t.to=function(e){return r(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,e];case 1:return[2,[t.sent(),null]];case 2:return[2,[null,t.sent()]];case 3:return[2]}})})},t.partition=function(e,t){var n,r,a=[],l=[];try{for(var i,u=o(e),s=u.next();!s.done;s=u.next())t(i=s.value)?a.push(i):l.push(i)}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return[a,l]}},function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n(125)),r(n(127)),r(n(128)),r(n(130)),r(n(132)),r(n(134)),r(n(135)),r(n(137)),r(n(139)),r(n(141)),r(n(143)),r(n(145)),r(n(147)),r(n(149))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(55))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function l(e){try{u(r.next(e))}catch(e){o(e)}}function i(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(l,i)}u((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){function n(e){return function(t){return r([e,t])}}function r(n){if(a)throw new TypeError("Generator is already executing.");for(;u;)try{if(a=1,o&&(l=2&n[0]?o.return:n[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,n[1])).done)return l;switch(o=0,l&&(n=[2&n[0],l.value]),n[0]){case 0:case 1:l=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,o=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(!(l=0<(l=u.trys).length&&l[l.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!l||n[1]>l[0]&&n[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var o=n(74),l=n(75);t.useObject=function(e){var t=r(o.useImmer(e),2),n=t[0],l=t[1];return{value:n,setSingle:function(e,t){l(function(n){n[e]=t})},setMulti:function(e){l(function(t){var n,r;try{for(var o,l=a(Object.keys(e)),i=l.next();!i.done;i=l.next())t[o=i.value]=e[o]}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}})},set:l}},t.composeContainer=function(e){var t=l.createContainer(function(){return Object.keys(e).reduce(function(t,n){return t[n]=e[n](),t},{})});return{Provider:t.Provider,containers:Object.keys(e).reduce(function(e,n){return e[n]=function(){return t.useContainer()[n]},e},{})}}},,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a,o=r(n(38));(a=t.Action||(t.Action={})).SPEED_NOTIFY="speed-notify";var l=function(){function e(){this.EE=new o.default}return e.prototype.notifySpeedTest=function(){this.EE.emit(a.SPEED_NOTIFY)},e.prototype.subscribe=function(e,t){this.EE.addListener(e,t)},e.prototype.unsubscribe=function(e,t){this.EE.removeListener(e,t)},e}();t.default=new l},,,function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(46)),o=n(10);o.isClashX()?o.setupJsBridge(a.default):a.default()},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(0)),l=n(12),i=n(23),u=n(7),s=a(n(121));t.default=function(){var e=document.getElementById("root"),t=o.createElement(u.Provider,null,o.createElement(i.HashRouter,null,o.createElement(s.default,null)));l.render(t,e)}},,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;nl[0]&&n[1]l[0]&&n[1]this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength)),[3,2]);case 4:return[2]}})})},e.prototype.retry=function(e){this.isClose||(this.EE.emit("error",e),window.setTimeout(this.loop,this.config.retryInterval))},e.prototype.subscribe=function(e,t){this.EE.addListener(e,t)},e.prototype.unsubscribe=function(e,t){this.EE.removeListener(e,t)},e.prototype.buffer=function(){return this.innerBuffer.slice()},e.prototype.destory=function(){this.EE.removeAllListeners(),this.isClose=!0},e}();t.StreamReader=c},,,function(e,t,n){"use strict";var r=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}},a=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),l=[];try{for(;(void 0===t||0l[0]&&n[1]l[0]&&n[1]l[0]&&n[1]l[0]&&n[1]l[0]&&n[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorageItem=function(e,t){return void 0===t&&(t=""),window.localStorage.getItem(e)||t},t.setLocalStorageItem=function(e,t){return window.localStorage.setItem(e,t)},t.removeLocalStorageItem=function(e){return window.localStorage.removeItem(e)},t.noop=function(){},t.to=function(e){return r(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,e];case 1:return[2,[t.sent(),null]];case 2:return[2,[null,t.sent()]];case 3:return[2]}})})},t.partition=function(e,t){var n,r,a=[],l=[];try{for(var i,u=o(e),s=u.next();!s.done;s=u.next())t(i=s.value)?a.push(i):l.push(i)}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return[a,l]}},function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n(125)),r(n(127)),r(n(128)),r(n(130)),r(n(132)),r(n(134)),r(n(135)),r(n(137)),r(n(139)),r(n(141)),r(n(143)),r(n(145)),r(n(147)),r(n(149))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(55))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function l(e){try{u(r.next(e))}catch(e){o(e)}}function i(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(l,i)}u((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){function n(e){return function(t){return r([e,t])}}function r(n){if(a)throw new TypeError("Generator is already executing.");for(;u;)try{if(a=1,o&&(l=2&n[0]?o.return:n[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,n[1])).done)return l;switch(o=0,l&&(n=[2&n[0],l.value]),n[0]){case 0:case 1:l=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,o=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(!(l=0<(l=u.trys).length&&l[l.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!l||n[1]>l[0]&&n[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var o=n(74),l=n(75);t.useObject=function(e){var t=r(o.useImmer(e),2),n=t[0],l=t[1];return{value:n,setSingle:function(e,t){l(function(n){n[e]=t})},setMulti:function(e){l(function(t){var n,r;try{for(var o,l=a(Object.keys(e)),i=l.next();!i.done;i=l.next())t[o=i.value]=e[o]}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}})},set:l}},t.composeContainer=function(e){var t=l.createContainer(function(){return Object.keys(e).reduce(function(t,n){return t[n]=e[n](),t},{})});return{Provider:t.Provider,containers:Object.keys(e).reduce(function(e,n){return e[n]=function(){return t.useContainer()[n]},e},{})}}},,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a,o=r(n(38));(a=t.Action||(t.Action={})).SPEED_NOTIFY="speed-notify";var l=function(){function e(){this.EE=new o.default}return e.prototype.notifySpeedTest=function(){this.EE.emit(a.SPEED_NOTIFY)},e.prototype.subscribe=function(e,t){this.EE.addListener(e,t)},e.prototype.unsubscribe=function(e,t){this.EE.removeListener(e,t)},e}();t.default=new l},,,function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(46)),o=n(10);o.isClashX()?o.setupJsBridge(a.default):a.default()},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(0)),l=n(12),i=n(23),u=n(7),s=a(n(121));t.default=function(){var e=document.getElementById("root"),t=o.createElement(u.Provider,null,o.createElement(i.HashRouter,null,o.createElement(s.default,null)));l.render(t,e)}},,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;nl[0]&&n[1]l[0]&&n[1]this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength)),[3,2]);case 4:return[2]}})})},e.prototype.retry=function(e){this.isClose||(this.EE.emit("error",e),window.setTimeout(this.loop,this.config.retryInterval))},e.prototype.subscribe=function(e,t){this.EE.addListener(e,t)},e.prototype.unsubscribe=function(e,t){this.EE.removeListener(e,t)},e.prototype.buffer=function(){return this.innerBuffer.slice()},e.prototype.destory=function(){this.EE.removeAllListeners(),this.isClose=!0},e}();t.StreamReader=c},,,function(e,t,n){"use strict";var r=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}},a=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),l=[];try{for(;(void 0===t||0l[0]&&n[1]l[0]&&n[1]l[0]&&n[1]l[0]&&n[1] *.example.com) + # # NOTE: hosts don't work with `fake-ip` + # hosts: + # '*.clash.dev': 127.0.0.1 + # 'alpha.clash.dev': '::1' nameserver: - - 101.132.183.99 - 119.29.29.29 - 114.114.114.114 - 114.114.115.115 - tls://dns.rubyfish.cn:853 - https://1.1.1.1/dns-query -# fallback: -# - tls://1.1.1.1:853 - diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/installed_core.sh b/package/jsda/luci-app-clash/root/usr/share/clash/installed_core.sh new file mode 100755 index 0000000000..efae552bef --- /dev/null +++ b/package/jsda/luci-app-clash/root/usr/share/clash/installed_core.sh @@ -0,0 +1,11 @@ +#!/bin/sh +if [ -f /usr/share/clash/installed_core ];then +rm -rf /usr/share/clash/installed_core +fi +check_core=$(opkg list-installed | grep 'clash' |awk -F ' - ' 'NR==1{print $1}' 2>/dev/null) +if [ $check_core == 'clash' ];then +curent_core=$(opkg list-installed | grep 'clash' |awk -F ' - ' 'NR==1{print $2}' 2>/dev/null) +echo $curent_core > /usr/share/clash/installed_core 2>&1 & >/dev/null +elif [ $check_core == 'luci-app-clash' ];then +echo 0 > /usr/share/clash/installed_core 2>&1 & >/dev/null +fi diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/rule.yaml b/package/jsda/luci-app-clash/root/usr/share/clash/rule.yaml index 8db205ce0b..92eca55311 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/rule.yaml +++ b/package/jsda/luci-app-clash/root/usr/share/clash/rule.yaml @@ -1,29 +1,23 @@ - - - name: "Overseas" type: select proxies: - "Proxy" - "DIRECT" - - name: "GlobalTV" type: select proxies: - "Proxy" - "DIRECT" - - name: AsianTV type: select proxies: - "DIRECT" - - "Proxy" - + - "Proxy" - name: AdBlock type: select proxies: - "REJECT" - Rule: - DOMAIN-SUFFIX,zjhu.edu.cn,DIRECT - DOMAIN,gs.apple.com,Proxy @@ -1868,4 +1862,4 @@ Rule: - IP-CIDR,209.237.192.0/19,Proxy - GEOIP,CN,DIRECT -- MATCH,Overseas \ No newline at end of file +- MATCH,Overseas diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/web/app.6cc7f04cc66718dd2c90.js b/package/jsda/luci-app-clash/root/usr/share/clash/web/app.6cc7f04cc66718dd2c90.js deleted file mode 100644 index 5d38d575a3..0000000000 --- a/package/jsda/luci-app-clash/root/usr/share/clash/web/app.6cc7f04cc66718dd2c90.js +++ /dev/null @@ -1,73 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+wdc":function(e,t,n){"use strict";(function(e){ -/** @license React v0.13.6 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -Object.defineProperty(t,"__esModule",{value:!0});var n=null,r=!1,o=3,a=-1,i=-1,c=!1,u=!1;function s(){if(!c){var e=n.expirationTime;u?x():u=!0,E(p,e)}}function l(){var e=n,t=n.next;if(n===t)n=null;else{var r=n.previous;n=r.next=t,t.previous=r}e.next=e.previous=null,r=e.callback,t=e.expirationTime,e=e.priorityLevel;var a=o,c=i;o=e,i=t;try{var u=r()}finally{o=a,i=c}if("function"==typeof u)if(u={callback:u,priorityLevel:e,expirationTime:t,next:null,previous:null},null===n)n=u.next=u.previous=u;else{r=null,e=n;do{if(e.expirationTime>=t){r=e;break}e=e.next}while(e!==n);null===r?r=n:r===n&&(n=u,s()),(t=r.previous).next=r.previous=u,u.next=r,u.previous=t}}function f(){if(-1===a&&null!==n&&1===n.priorityLevel){c=!0;try{do{l()}while(null!==n&&1===n.priorityLevel)}finally{c=!1,null!==n?s():u=!1}}}function p(e){c=!0;var o=r;r=e;try{if(e)for(;null!==n;){var a=t.unstable_now();if(!(n.expirationTime<=a))break;do{l()}while(null!==n&&n.expirationTime<=a)}else if(null!==n)do{l()}while(null!==n&&!C())}finally{c=!1,r=o,null!==n?s():u=!1,f()}}var d,h,v=Date,m="function"==typeof setTimeout?setTimeout:void 0,y="function"==typeof clearTimeout?clearTimeout:void 0,b="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,g="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;function w(e){d=b(function(t){y(h),e(t)}),h=m(function(){g(d),e(t.unstable_now())},100)}if("object"==typeof performance&&"function"==typeof performance.now){var O=performance;t.unstable_now=function(){return O.now()}}else t.unstable_now=function(){return v.now()};var E,x,C,j=null;if("undefined"!=typeof window?j=window:void 0!==e&&(j=e),j&&j._schedMock){var S=j._schedMock;E=S[0],x=S[1],C=S[2],t.unstable_now=S[3]}else if("undefined"==typeof window||"function"!=typeof MessageChannel){var _=null,k=function(e){if(null!==_)try{_(e)}finally{_=null}};E=function(e){null!==_?setTimeout(E,0,e):(_=e,setTimeout(k,0,!1))},x=function(){_=null},C=function(){return!1}}else{"undefined"!=typeof console&&("function"!=typeof b&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof g&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var T=null,P=!1,N=-1,M=!1,A=!1,R=0,L=33,I=33;C=function(){return R<=t.unstable_now()};var D=new MessageChannel,F=D.port2;D.port1.onmessage=function(){P=!1;var e=T,n=N;T=null,N=-1;var r=t.unstable_now(),o=!1;if(0>=R-r){if(!(-1!==n&&n<=r))return M||(M=!0,w(U)),T=e,void(N=n);o=!0}if(null!==e){A=!0;try{e(o)}finally{A=!1}}};var U=function(e){if(null!==T){w(U);var t=e-R+I;tt&&(t=8),I=tt?F.postMessage(void 0):M||(M=!0,w(U))},x=function(){T=null,P=!1,N=-1}}t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,n){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=o,i=a;o=e,a=t.unstable_now();try{return n()}finally{o=r,a=i,f()}},t.unstable_next=function(e){switch(o){case 1:case 2:case 3:var n=3;break;default:n=o}var r=o,i=a;o=n,a=t.unstable_now();try{return e()}finally{o=r,a=i,f()}},t.unstable_scheduleCallback=function(e,r){var i=-1!==a?a:t.unstable_now();if("object"==typeof r&&null!==r&&"number"==typeof r.timeout)r=i+r.timeout;else switch(o){case 1:r=i+-1;break;case 2:r=i+250;break;case 5:r=i+1073741823;break;case 4:r=i+1e4;break;default:r=i+5e3}if(e={callback:e,priorityLevel:o,expirationTime:r,next:null,previous:null},null===n)n=e.next=e.previous=e,s();else{i=null;var c=n;do{if(c.expirationTime>r){i=c;break}c=c.next}while(c!==n);null===i?i=n:i===n&&(n=e,s()),(r=i.previous).next=i.previous=e,e.next=i,e.previous=r}return e},t.unstable_cancelCallback=function(e){var t=e.next;if(null!==t){if(t===e)n=null;else{e===n&&(n=t);var r=e.previous;r.next=t,t.previous=r}e.next=e.previous=null}},t.unstable_wrapCallback=function(e){var n=o;return function(){var r=o,i=a;o=n,a=t.unstable_now();try{return e.apply(this,arguments)}finally{o=r,a=i,f()}}},t.unstable_getCurrentPriorityLevel=function(){return o},t.unstable_shouldYield=function(){return!r&&(null!==n&&n.expirationTime"+e+""};return function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"==typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n}(u(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(e)},e.exports=n()}).call(this,n("yLpj"))},"5Wrh":function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),a=n("17x9"),i=n.n(a),c=n("Pvz/"),u=n.n(c),s=function(){},l=o.a.memo(function(e){var t=e.label,n=e.onClick,r=void 0===n?s:n;return o.a.createElement("button",{className:u.a.btn,onClick:r},t)});l.propTypes={label:i.a.string.isRequired,onClick:i.a.func},t.a=l},"7B0+":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=(r=n("q1tI"))&&"object"==typeof r&&"default"in r?r.default:r;function a(e){return a.warnAboutHMRDisabled&&(a.warnAboutHMRDisabled=!0,console.error("React-Hot-Loader: misconfiguration detected, using production version in non-production environment."),console.error("React-Hot-Loader: Hot Module Replacement is not enabled.")),o.Children.only(e.children)}a.warnAboutHMRDisabled=!1;var i=function e(){return e.shouldWrapWithAppContainer?function(e){return function(t){return o.createElement(a,null,o.createElement(e,t))}}:function(e){return e}};i.shouldWrapWithAppContainer=!1;t.AppContainer=a,t.hot=i,t.areComponentsEqual=function(e,t){return e===t},t.setConfig=function(){},t.cold=function(e){return e},t.configureComponent=function(){}},"7JQg":function(e,t,n){e.exports={loading:"_1EnK5MMInH",pulse:"_39z9L5I2ao",pulseScaleOut:"_1DSWK2a-pe"}},"7Qc+":function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},"87sv":function(e,t,n){"use strict";e.exports=n("7B0+")},"8tgM":function(e,t,n){var r=n("7Qc+");e.exports=d,e.exports.parse=a,e.exports.compile=function(e,t){return c(a(e,t))},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,c="",l=t&&t.delimiter||"/";null!=(n=o.exec(e));){var f=n[0],p=n[1],d=n.index;if(c+=e.slice(i,d),i=d+f.length,p)c+=p[1];else{var h=e[i],v=n[2],m=n[3],y=n[4],b=n[5],g=n[6],w=n[7];c&&(r.push(c),c="");var O=null!=v&&null!=h&&h!==v,E="+"===g||"*"===g,x="?"===g||"*"===g,C=n[2]||l,j=y||b;r.push({name:m||a++,prefix:v||"",delimiter:C,optional:x,repeat:E,partial:O,asterisk:!!w,pattern:j?s(j):w?".*":"[^"+u(C)+"]+?"})}}return i0&&void 0!==arguments[0]?arguments[0]:k,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case E:case O:case w:return Object(o.a)({},e,{},r);default:return e}}},ERIh:function(e,t,n){"use strict";n.r(t);n("pNMO"),n("4Brf"),n("tjZM"),n("3I1R"),n("7+kd"),n("0oug"),n("KhsS"),n("gOCb"),n("a57n"),n("GXvd"),n("I1Gw"),n("gXIK"),n("lEou"),n("gbiT"),n("ma9I"),n("qHT+"),n("piMb"),n("yyme"),n("TeQF"),n("fbCW"),n("x0AG"),n("BIHw"),n("XbcX"),n("QWBl"),n("pjDv"),n("yq1k"),n("yXV3"),n("4mDm"),n("oVuX"),n("uqXc"),n("2B1R"),n("Xe3L"),n("E9XD"),n("9N29"),n("Junv"),n("+2oP"),n("Rfxz"),n("ToJy"),n("94Xl"),n("pDQq"),n("QGkA"),n("c9m3"),n("wZ/5"),n("gtqK"),n("rOQg"),n("tCCV"),n("rMz7"),n("9LPj"),n("7+zs"),n("DQNa"),n("tW5y"),n("sMBO"),n("DEfu"),n("Tskq"),n("Uydy"),n("eajv"),n("n/mU"),n("PqOI"),n("QNnp"),n("/5zm"),n("CsgD"),n("9mRW"),n("QFcT"),n("vAFs"),n("a5NK"),n("yiG3"),n("kNcU"),n("KvGi"),n("AmFO"),n("eJiR"),n("I9xj"),n("tl/u"),n("qePV"),n("NbN+"),n("8AyJ"),n("i6QF"),n("kSko"),n("WDsR"),n("r/Vq"),n("5uH8"),n("w1rZ"),n("JevA"),n("toAj"),n("VC3L"),n("zKZe"),n("Eqjn"),n("HRxU"),n("eoL8"),n("5xtp"),n("T63A"),n("3KgV"),n("wfmh"),n("5DmW"),n("27RR"),n("cDke"),n("NBAS"),n("Kxld"),n("yQYn"),n("4h0Y"),n("5D5o"),n("tkto"),n("v5b1"),n("W/eh"),n("zuhW"),n("r5Og"),n("ExoC"),n("07d7"),n("B6y2"),n("rNhl"),n("4l63"),n("5s+n"),n("p532"),n("pv2x"),n("SuFq"),n("PzqY"),n("rBZX"),n("XUE8"),n("nkod"),n("f3jH"),n("x2An"),n("25bX"),n("G/JM"),n("1t3B"),n("ftMj"),n("i5pp"),n("TWNs"),n("rB9j"),n("U3f4"),n("JfAA"),n("YGK4"),n("9bJ7"),n("inlA"),n("9tb/"),n("JTJg"),n("PKPk"),n("Rm1S"),n("hDyC"),n("TZCg"),n("2A+d"),n("OM9Z"),n("UxlC"),n("hByQ"),n("EnZy"),n("LKBx"),n("SYor"),n("HiXI"),n("7ueG"),n("GKVU"),n("E5NM"),n("BNMt"),n("zHFu"),n("x83w"),n("l2dK"),n("GRPF"),n("xdBZ"),n("mRH6"),n("yWo2"),n("IxXR"),n("TFPT"),n("Zk8X"),n("z8NH"),n("SpvK"),n("/Yfv"),n("iwkZ"),n("FDzp"),n("XMab"),n("ilnZ"),n("hMMk"),n("+ywr"),n("moxL"),n("qXVe"),n("c162"),n("waxf"),n("0TkE"),n("Onu3"),n("1dYe"),n("IL/d"),n("gvgV"),n("6R/c"),n("YL0P"),n("X5Zq"),n("MoCz"),n("P8wP"),n("7JcK"),n("ypFw"),n("JaFt"),n("zSZm"),n("PF2M"),n("KVSy"),n("ZJ55"),n("IZzc"),n("Fwt+"),n("s5qe"),n("cvf0"),n("ENF9"),n("H+LF"),n("FZtP"),n("3bBZ"),n("Ew+T"),n("n5b4"),n("Kz25"),n("vxnP"),n("mGGf"),n("ls82"),n("ewTs");var r=n("q1tI"),o=n.n(r),a=n("qWSy"),i=n.n(a),c=n("9rZX"),u=n.n(c),s=n("u4Dv"),l=n("dI71"),f=n("VbXa"),p=n.n(f),d=n("17x9"),h=n.n(d),v=n("fZtv"),m=n.n(v),y=1073741823;var b=o.a.createContext||function(e,t){var n,o,a="__create-react-context-"+m()()+"__",i=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}}),t}p()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[a]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):y,0!=(n|=0)&&this.emitter.set(e.value,n))}var a,i},r.render=function(){return this.props.children},n}(r.Component);i.childContextTypes=((n={})[a]=h.a.object.isRequired,n);var c=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}p()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?y:t},r.componentDidMount=function(){this.context[a]&&this.context[a].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?y:e},r.componentWillUnmount=function(){this.context[a]&&this.context[a].off(this.onUpdate)},r.getValue=function(){return this.context[a]?this.context[a].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return c.contextTypes=((o={})[a]=h.a.object,o),{Provider:i,Consumer:c}},g=n("wx14");function w(e){return"/"===e.charAt(0)}function O(e,t){for(var n=t,r=n+1,o=e.length;r1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&w(e),a=t&&w(t),i=o||a;if(e&&w(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var c=void 0;if(r.length){var u=r[r.length-1];c="."===u||".."===u||""===u}else c=!1;for(var s=0,l=r.length;l>=0;l--){var f=r[l];"."===f?O(r,l):".."===f?(O(r,l),s++):s&&(O(r,l),s--)}if(!i)for(;s--;s)r.unshift("..");!i||""===r[0]||r[0]&&w(r[0])||r.unshift("");var p=r.join("/");return c&&"/"!==p.substr(-1)&&(p+="/"),p},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var C=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every(function(t,r){return e(t,n[r])});var r=void 0===t?"undefined":x(t);if(r!==(void 0===n?"undefined":x(n)))return!1;if("object"===r){var o=t.valueOf(),a=n.valueOf();if(o!==t||a!==n)return e(o,a);var i=Object.keys(t),c=Object.keys(n);return i.length===c.length&&i.every(function(r){return e(t[r],n[r])})}return!1},j=!0,S="Invariant failed";var _=function(e,t){if(!e)throw j?new Error(S):new Error(S+": "+(t||""))};function k(e){return"/"===e.charAt(0)?e:"/"+e}function T(e){return"/"===e.charAt(0)?e.substr(1):e}function P(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function N(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function M(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function A(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(g.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=E(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function R(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&C(e.state,t.state)}function L(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function J(e){void 0===e&&(e={}),I||_(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?D:r,a=n.hashType,i=void 0===a?"slash":a,c=e.basename?N(k(e.basename)):"",u=z[i],s=u.encodePath,l=u.decodePath;function f(){var e=l(H());return c&&(e=P(e,c)),A(e)}var p=L();function d(e){Object(g.a)(S,e),S.length=t.length,p.notifyListeners(S.location,S.action)}var h=!1,v=null;function m(){var e=H(),t=s(e);if(e!==t)V(t);else{var n=f(),r=S.location;if(!h&&R(r,n))return;if(v===M(n))return;v=null,function(e){if(h)h=!1,d();else{p.confirmTransitionTo(e,"POP",o,function(t){t?d({action:"POP",location:e}):function(e){var t=S.location,n=O.lastIndexOf(M(t));-1===n&&(n=0);var r=O.lastIndexOf(M(e));-1===r&&(r=0);var o=n-r;o&&(h=!0,E(o))}(e)})}}(n)}}var y=H(),b=s(y);y!==b&&V(b);var w=f(),O=[M(w)];function E(e){t.go(e)}var x=0;function C(e){1===(x+=e)&&1===e?window.addEventListener(W,m):0===x&&window.removeEventListener(W,m)}var j=!1;var S={length:t.length,action:"POP",location:w,createHref:function(e){return"#"+s(c+M(e))},push:function(e,t){var n=A(e,void 0,void 0,S.location);p.confirmTransitionTo(n,"PUSH",o,function(e){if(e){var t=M(n),r=s(c+t);if(H()!==r){v=t,function(e){window.location.hash=e}(r);var o=O.lastIndexOf(M(S.location)),a=O.slice(0,-1===o?0:o+1);a.push(t),O=a,d({action:"PUSH",location:n})}else d()}})},replace:function(e,t){var n=A(e,void 0,void 0,S.location);p.confirmTransitionTo(n,"REPLACE",o,function(e){if(e){var t=M(n),r=s(c+t);H()!==r&&(v=t,V(r));var o=O.indexOf(M(S.location));-1!==o&&(O[o]=t),d({action:"REPLACE",location:n})}})},go:E,goBack:function(){E(-1)},goForward:function(){E(1)},block:function(e){void 0===e&&(e=!1);var t=p.setPrompt(e);return j||(C(1),j=!0),function(){return j&&(j=!1,C(-1)),t()}},listen:function(e){var t=p.appendListener(e);return C(1),function(){C(-1),t()}}};return S}function X(e,t,n){return Math.min(Math.max(e,t),n)}var K=n("8tgM"),G=n.n(K),$=(n("mSXw"),n("zLVn")),Z=(n("2mql"),function(e){var t=b();return t.displayName=e,t}("Router")),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e})),n}Object(l.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(Z.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(o.a.Component);o.a.Component;o.a.Component;var Q={},ee=1e4,te=0;function ne(e,t){void 0===t&&(t={}),"string"==typeof t&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,c=void 0!==i&&i,u=n.sensitive,s=void 0!==u&&u;return[].concat(r).reduce(function(t,n){if(!n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=Q[n]||(Q[n]={});if(r[e])return r[e];var o=[],a={regexp:G()(e,o,t),keys:o};return te0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=void 0===t?24:t,r=e.height,a=void 0===r?24:r;return o.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.a.createElement("path",{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}))}Pe.propTypes={width:h.a.number,height:h.a.number};var Ne=n("Tk1H"),Me=n.n(Ne),Ae="";function Re(e){var t=e.message,n=e.detail;return o.a.createElement("div",{className:Me.a.root},o.a.createElement("div",{className:Me.a.yacd},o.a.createElement(Te,{width:150,height:150})),t?o.a.createElement("h1",null,t):null,n?o.a.createElement("p",null,n):null,o.a.createElement("p",null,o.a.createElement("a",{className:Me.a.link,href:Ae},o.a.createElement(Pe,{width:16,height:16}),"haishanh/yacd")))}Re.propTypes={message:h.a.string};var Le,Ie=Re,De=0,Fe=(Le={},Object(Ce.a)(Le,De,{message:"Browser not supported!",detail:'This browser does not support "fetch", please choose another one.'}),Object(Ce.a)(Le,"default",{message:"Oops, something went wrong!"}),Le);var Ue=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),a=0;a'}),$e=(Ke.a.add(Ge),Ge);var Ze=function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("path",{d:"M24 14h-4l-3 9-6-18-3 9H4",stroke:"currentColor"})))};var Ye=n("kGfw"),Qe=n.n(Ye),et={activity:Ze,globe:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{transform:"translate(4 4)",stroke:"currentColor"},o.a.createElement("circle",{cx:"10",cy:"10",r:"10"}),o.a.createElement("path",{d:"M0 10h20M10 0a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}))))},command:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("path",{d:"M20 5a3 3 0 0 0-3 3v12a3 3 0 1 0 3-3H8a3 3 0 1 0 3 3V8a3 3 0 1 0-3 3h12a3 3 0 0 0 0-6z",stroke:"currentColor"})))},file:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{stroke:"currentColor"},o.a.createElement("path",{d:"M16 4H8a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V10l-6-6z"}),o.a.createElement("path",{d:"M16 4v6h6M18 15h-8M18 19h-8M12 11h-2"}))))},settings:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{transform:"translate(3 3)",stroke:"currentColor"},o.a.createElement("circle",{cx:"11",cy:"11",r:"3"}),o.a.createElement("path",{d:"M18.4 14a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V20a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 8 18.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H2a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 3.6 8a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H8a1.65 1.65 0 0 0 1-1.51V2a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V8c.26.604.852.997 1.51 1H20a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"}))))}},tt=o.a.memo(function(e){var t=e.location,n=e.iconId,r=e.labelText,a=e.to,i=et[n],c=t.pathname===a,u=We()(Qe.a.row,c?Qe.a.rowActive:null);return o.a.createElement(le,{to:a,className:u},o.a.createElement(i,{isActive:c}),o.a.createElement("div",{className:Qe.a.label},r))});tt.propTypes={location:h.a.shape({pathname:h.a.string}).isRequired,to:h.a.string.isRequired,iconId:h.a.string,labelText:h.a.string};var nt={switchTheme:ze.f};function rt(e){var t=e.location,n=Object(s.b)(nt).switchTheme;return o.a.createElement("div",{className:Qe.a.root},o.a.createElement("a",{href:"",className:Qe.a.logoLink,target:"",rel:"noopener noreferrer"},o.a.createElement("div",{className:Qe.a.logo},o.a.createElement(Te,{width:80,height:80}))),o.a.createElement("div",{className:Qe.a.rows},o.a.createElement(tt,{to:"/",location:t,iconId:"activity",labelText:"Overview"}),o.a.createElement(tt,{to:"/proxies",location:t,iconId:"globe",labelText:"Proxies"}),o.a.createElement(tt,{to:"/rules",location:t,iconId:"command",labelText:"Rules"}),o.a.createElement(tt,{to:"/configs",location:t,iconId:"settings",labelText:"Config"}),o.a.createElement(tt,{to:"/logs",location:t,iconId:"file",labelText:"Logs"})),o.a.createElement("div",{className:Qe.a.themeSwitchContainer,onClick:n},o.a.createElement(He.a,{id:$e.id,width:20,height:20})))}rt.propTypes={location:h.a.shape({pathname:h.a.string}).isRequired};var ot=o.a.memo(rt),at=n("DKqX"),it=n("VTBJ"),ct=n("Jf6s"),ut=n("xaHF"),st=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],lt=function(e){if(e<1e3)return e+" B";var t=Math.min(Math.floor(Math.log10(e)/3),st.length-1);return(e=Number((e/Math.pow(1e3,t)).toPrecision(3)))+" "+st[t]},ft=Object(ut.unstable_createResource)(function(){return n.e(6).then(n.t.bind(null,"JVhT",7)).then(function(e){return e.default})}),pt={borderWidth:1,lineTension:0,pointRadius:0},dt={responsive:!0,maintainAspectRatio:!0,title:{display:!1},legend:{display:!0,position:"top",labels:{fontColor:"#ccc",boxWidth:20}},tooltips:{enabled:!1,mode:"index",intersect:!1,animationDuration:100},hover:{mode:"nearest",intersect:!0},scales:{xAxes:[{display:!1,gridLines:{display:!1}}],yAxes:[{display:!0,gridLines:{display:!0,color:"#555",borderDash:[3,6],drawBorder:!1},ticks:{callback:function(e){return lt(e)+"/s "}}}]}},ht=[{down:{backgroundColor:"rgba(176, 209, 132, 0.8)",borderColor:"rgb(176, 209, 132)"},up:{backgroundColor:"rgba(181, 220, 231, 0.8)",borderColor:"rgb(181, 220, 231)"}},{up:{backgroundColor:"rgb(98, 190, 100)",borderColor:"rgb(78,146,79)"},down:{backgroundColor:"rgb(160, 230, 66)",borderColor:"rgb(110, 156, 44)"}},{up:{backgroundColor:"rgba(94, 175, 223, 0.3)",borderColor:"rgb(94, 175, 223)"},down:{backgroundColor:"rgba(139, 227, 195, 0.3)",borderColor:"rgb(139, 227, 195)"}},{up:{backgroundColor:"rgba(242, 174, 62, 0.3)",borderColor:"rgb(242, 174, 62)"},down:{backgroundColor:"rgba(69, 154, 248, 0.3)",borderColor:"rgb(69, 154, 248)"}}],vt=o.a.useEffect,mt=dt;function yt(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};vt(function(){var a=document.getElementById(t).getContext("2d"),i=new e(a,{type:"line",data:n,options:Object(it.a)({},mt,{},o)}),c=r&&r.subscribe(function(){return i.update()});return function(){c&&c(),i.destroy()}},[e,t,n,r,o])}var bt={position:"relative",maxWidth:1e3},gt=function(e){return{selectedChartStyleIndex:Object(ze.d)(e)}};function wt(){var e=ft.read(),t=Object(s.c)(ze.c),n=t.hostname,a=t.port,i=t.secret,c=Object(s.c)(gt).selectedChartStyleIndex,u=Object(ct.a)({hostname:n,port:a,secret:i});return yt(e,"trafficChart",Object(r.useMemo)(function(){return{labels:u.labels,datasets:[Object(it.a)({},pt,{},ht[c].up,{label:"Up",data:u.up}),Object(it.a)({},pt,{},ht[c].down,{label:"Down",data:u.down})]}},[u,c]),u),o.a.createElement("div",{style:bt},o.a.createElement("canvas",{id:"trafficChart"}))}var Ot=n("ODXe"),Et=n("J3/6"),xt=n.n(Et);function Ct(){var e,t,n,a,i,c,u,l,f=(e=Object(r.useState)({upStr:"0 B/s",downStr:"0 B/s"}),t=Object(Ot.a)(e,2),n=t[0],a=t[1],i=Object(s.c)(ze.c),c=i.hostname,u=i.port,l=i.secret,Object(r.useEffect)(function(){return Object(ct.a)({hostname:c,port:u,secret:l}).subscribe(function(e){return a({upStr:lt(e.up)+"/s",downStr:lt(e.down)+"/s"})})},[c,u,l]),n),p=f.upStr,d=f.downStr;return o.a.createElement("div",{className:xt.a.TrafficNow},o.a.createElement("div",{className:xt.a.up},o.a.createElement("div",null,"Upload"),o.a.createElement("div",null,p)),o.a.createElement("div",{className:xt.a.down},o.a.createElement("div",null,"Download"),o.a.createElement("div",null,d)))}var jt=n("gjz0"),St=n.n(jt);function _t(){return o.a.createElement("div",null,o.a.createElement(at.a,{title:"Overview"}),o.a.createElement("div",{className:St.a.root},o.a.createElement("div",null,o.a.createElement(Ct,null)),o.a.createElement("div",{className:St.a.chart},o.a.createElement(r.Suspense,{fallback:o.a.createElement(he,{height:"200px"}),maxDuration:10},o.a.createElement(wt,null)))))}var kt=n("iR1w"),Tt=n("Kv4h"),Pt=n("EJpJ"),Nt="/logs",Mt=new TextDecoder("utf-8"),At=function(){return Math.floor(65536*(1+Math.random())).toString(16)},Rt=!1,Lt=!1,It="";function Dt(e,t){var n;try{n=JSON.parse(e)}catch(t){console.log("JSON.parse error",JSON.parse(e))}var r=new Date,o=r.toLocaleString("zh-Hans");n.time=o,n.id=r-0+At(),n.even=Rt=!Rt,t(n)}var Ft,Ut={};function Bt(e,t){if(!Ft||Ut.hostname===e.hostname&&Ut.port===e.port&&Ut.secret===e.secret&&Ut.logLevel===e.logLevel){if(Lt)return}else Ft.abort();Lt=!0,Ut.hostname=e.hostname,Ut.port=e.port,Ut.secret=e.secret,Ut.logLevel=e.logLevel;var n=(Ft=new AbortController).signal,r=Object(Pt.a)(e),o=r.url,a=r.init;fetch(o+Nt+"?level="+e.logLevel,Object(it.a)({},a,{signal:n})).then(function(e){!function e(t,n){return t.read().then(function(r){for(var o=r.done,a=r.value,i=Mt.decode(a,{stream:!o}),c=(It+=i).split("\n"),u=c[c.length-1],s=0;s=0;o--)r.push(e[o]);if(e.length===Vt)for(var a=Vt-1;a>t;a--)r.push(e[a]);return""===n?r:r.filter(function(e){return e.payload.toLowerCase().indexOf(n)>=0})});var $t={searchText:"",logs:[],tail:-1};var Zt={updateSearchText:function(e){return{type:zt,payload:{searchText:e.toLowerCase()}}}},Yt=Object(qt.a)({mapStateToProps:function(e){return{searchText:Kt(e)}},actions:Zt}),Qt=n("oFgh"),en=n("RLOP"),tn=n.n(en),nn=30,rn={debug:"none",info:"#454545",warning:"#b99105",error:"#c11c1c"};function on(e){var t=e.time,n=e.even,r=e.payload,a=e.type,i=We()({even:n},tn.a.log);return o.a.createElement("div",{className:i},o.a.createElement("div",{className:tn.a.logMeta},o.a.createElement("div",{className:tn.a.logTime},t),o.a.createElement("div",{className:tn.a.logType,style:{backgroundColor:rn[a]}},a),o.a.createElement("div",{className:tn.a.logText},r)))}function an(e,t){return t[e].id}on.propTypes={time:h.a.string,even:h.a.bool,payload:h.a.string,type:h.a.string};var cn=Object(r.memo)(function(e){var t=e.index,n=e.style,r=e.data[t];return o.a.createElement("div",{style:n},o.a.createElement(on,r))},kt.b),un={appendLog:function(e){return function(t,n){var r=n(),o=Jt(r),a=Xt(r),i=a>=Vt-1?0:a+1;o[i]=e,t({type:Ht,payload:{tail:i}})}}};function sn(){var e=Object(s.c)(ze.c),t=e.hostname,n=e.port,a=e.secret,i=Object(s.b)(un).appendLog,c=Object(s.c)(Gt),u=Object(s.c)(Qt.d);Object(r.useEffect)(function(){Bt({hostname:t,port:n,secret:a,logLevel:u},i)},[t,n,a,u,i]);var l=Object(Tt.a)(),f=Object(Ot.a)(l,2),p=f[0],d=f[1];return o.a.createElement("div",null,o.a.createElement(at.a,{title:"Logs"}),o.a.createElement(Yt,null),o.a.createElement("div",{ref:p,style:{paddingBottom:nn}},0===c.length?o.a.createElement("div",{className:tn.a.logPlaceholder,style:{height:d-nn}},o.a.createElement("div",{className:tn.a.logPlaceholderIcon},o.a.createElement(Te,{width:200,height:200})),o.a.createElement("div",null,"No logs yet, hang tight...")):o.a.createElement("div",{className:tn.a.logsWrapper},o.a.createElement(kt.a,{height:d-nn,width:"100%",itemCount:c.length,itemSize:80,itemData:c,itemKey:an},cn))))}var ln=n("blRg"),fn=n.n(ln),pn=function(){};function dn(e){var t=e.checked,n=void 0!==t&&t,r=e.onChange,a=void 0===r?pn:r,i=e.name,c=void 0===i?"":i;return o.a.createElement("div",null,o.a.createElement("input",{type:"checkbox",name:c,checked:n,className:fn.a.switch,onChange:a}))}dn.propTypes={checked:h.a.bool,onChange:h.a.func,name:h.a.string};var hn=o.a.memo(dn),vn=n("YKzy"),mn=n.n(vn);function yn(e){var t=e.options,n=e.value,a=e.name,i=e.onChange,c=Object(r.useMemo)(function(){return t.map(function(e){return e.value}).indexOf(n)},[t,n]),u=(100/t.length).toPrecision(3);return o.a.createElement("div",null,o.a.createElement("div",{className:mn.a.ToggleSwitch},o.a.createElement("div",{className:mn.a.slider,style:{width:u+"%",left:c*u+"%"}}),t.map(function(e,t){var r="".concat(a,"-").concat(e.label),c=0===t?"":"border-left";return o.a.createElement("label",{htmlFor:r,key:r,className:c},o.a.createElement("input",{id:r,name:a,type:"radio",value:e.value,checked:n===e.value,onChange:i}),o.a.createElement("div",null,e.label))})))}yn.propTypes={options:h.a.array,value:h.a.string,name:h.a.string,onChange:h.a.func};var bn=o.a.memo(yn),gn=n("Wii/"),wn=n.n(gn);function On(e){return o.a.createElement("input",Object(g.a)({className:wn.a.input},e))}On.propTypes={value:h.a.oneOfType([h.a.string,h.a.number]),type:h.a.string,onChange:h.a.func,name:h.a.string,placeholder:h.a.string};var En=n("5Wrh"),xn=n("uLK7"),Cn=n.n(xn);function jn(e){var t=e.OptionComponent,n=e.optionPropsList,r=e.selectedIndex,a=e.onChange;return o.a.createElement("div",{className:Cn.a.root},n.map(function(e,n){var i=We()(Cn.a.item,Object(Ce.a)({},Cn.a.itemActive,n===r));return o.a.createElement("div",{key:n,className:i,onClick:function(e){e.preventDefault(),n!==r&&a(n)}},o.a.createElement(t,e))}))}jn.propTypes={OptionComponent:d.func,optionPropsList:d.array,selectedIndex:d.number,onChange:d.func};var Sn={legend:{display:!1},scales:{xAxes:[{display:!1}],yAxes:[{display:!1}]}},_n=[23e3,35e3,46e3,33e3,9e4,68e3,23e3,45e3],kn=[184e3,183e3,196e3,182e3,19e4,186e3,182e3,189e3],Tn=_n;function Pn(e){var t=e.id,n=ft.read(),a=Object(r.useMemo)(function(){return{labels:Tn,datasets:[Object(it.a)({},pt,{},ht[t].up,{data:_n}),Object(it.a)({},pt,{},ht[t].down,{data:kn})]}},[t]),i="chart-"+t;return yt(n,i,a,null,Sn),o.a.createElement("div",{style:{width:130,padding:5}},o.a.createElement("canvas",{id:i}))}var Nn=n("S7Mu"),Mn=n.n(Nn),An=[{id:0},{id:1},{id:2},{id:3}],Rn=[{label:"Global",value:"Global"},{label:"Rule",value:"Rule"},{label:"Direct",value:"Direct"}],Ln=[{label:"info",value:"info"},{label:"warning",value:"warning"},{label:"error",value:"error"},{label:"debug",value:"debug"},{label:"silent",value:"silent"}],In={selectChartStyleIndex:ze.e,fetchConfigs:Qt.b,updateConfigs:Qt.e},Dn=function(e){return{configs:Object(Qt.c)(e)}};function Fn(){var e=Object(s.b)(In).fetchConfigs,t=Object(s.c)(Dn).configs;return Object(r.useEffect)(function(){e()},[e]),o.a.createElement(Bn,{configs:t})}var Un=function(e){return{selectedChartStyleIndex:Object(ze.d)(e)}};function Bn(e){var t=e.configs,n=Object(s.b)(In),a=n.updateConfigs,i=n.selectChartStyleIndex,c=Object(s.c)(Un).selectedChartStyleIndex,u=Object(r.useState)(t),l=Object(Ot.a)(u,2),f=l[0],p=l[1],d=Object(r.useState)(t),h=Object(Ot.a)(d,2),v=h[0],m=h[1];v!==t&&(m(t),p(t));var y=function(e,t){p(Object(it.a)({},f,Object(Ce.a)({},e,t)))};function b(e){var t=e.target,n=t.name,r=t.value;switch(t.name){case"allow-lan":r=t.checked,y(n,r),a(Object(Ce.a)({},n,r));break;case"mode":case"log-level":y(n,r),a(Object(Ce.a)({},n,r));break;case"redir-port":case"socks-port":case"port":if(""!==t.value){var o=parseInt(t.value,10);if(o<0||o>65535)return}y(n,r);break;default:return}}function g(e){var t=e.target,n=t.name,r=t.value;switch(n){case"port":case"socks-port":case"redir-port":var o=parseInt(r,10);if(o<0||o>65535)return;a(Object(Ce.a)({},n,o))}}return o.a.createElement("div",null,o.a.createElement(at.a,{title:"Config"}),o.a.createElement("div",{className:Mn.a.root},o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"HTTP Proxy Port"),o.a.createElement(On,{name:"port",value:f.port,onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"SOCKS5 Proxy Port"),o.a.createElement(On,{name:"socks-port",value:f["socks-port"],onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Redir Port"),o.a.createElement(On,{name:"redir-port",value:f["redir-port"],onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Allow LAN"),o.a.createElement(hn,{name:"allow-lan",checked:f["allow-lan"],onChange:b})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Mode"),o.a.createElement(bn,{options:Rn,name:"mode",value:f.mode,onChange:b})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Log Level"),o.a.createElement(bn,{options:Ln,name:"log-level",value:f["log-level"],onChange:b}))),o.a.createElement("div",{className:Mn.a.sep},o.a.createElement("div",null)),o.a.createElement("div",{className:Mn.a.section},o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Chart Style"),o.a.createElement(jn,{OptionComponent:Pn,optionPropsList:An,selectedIndex:c,onChange:function(e){i(e)}})),o.a.createElement("div",null,o.a.createElement("div",{className:Mn.a.label},"Action"),o.a.createElement(En.a,{label:"Log out",onClick:ze.a}))))}Bn.propTypes={configs:h.a.object};var qn=n("Ff2n"),Wn=n("Z9Yo"),zn=n.n(Wn);function Hn(e){var t=e.isOpen,n=e.onRequestClose,r=e.className,a=e.overlayClassName,i=e.children,c=Object(qn.a)(e,["isOpen","onRequestClose","className","overlayClassName","children"]),s=We()(r,zn.a.content),l=We()(a,zn.a.overlay);return o.a.createElement(u.a,Object(g.a)({isOpen:t,onRequestClose:n,className:s,overlayClassName:l},c),i)}Hn.propTypes={isOpen:h.a.bool.isRequired,onRequestClose:h.a.func.isRequired,children:h.a.node.isRequired,className:h.a.string,overlayClassName:h.a.string};var Vn=o.a.memo(Hn),Jn=n("SzcZ"),Xn=n.n(Jn),Kn=o.a.useCallback;function Gn(e){var t=e.id,n=e.label,r=e.value,a=e.onChange,i=Object(qn.a)(e,["id","label","value","onChange"]),c=Kn(function(e){return a(e)},[a]),u=We()(Object(Ce.a)({},Xn.a.floatAbove,"string"==typeof r&&""!==r));return o.a.createElement("div",{className:Xn.a.root},o.a.createElement("input",Object(g.a)({id:t,value:r,onChange:c},i)),o.a.createElement("label",{htmlFor:t,className:u},n))}Gn.propTypes={value:h.a.oneOfType([h.a.string,h.a.number]),type:h.a.oneOf(["text","number"]),onChange:h.a.func,id:h.a.string,label:h.a.string};var $n=n("Plid"),Zn=n.n($n),Yn=function(e){return{apiConfig:Object(ze.c)(e)}};var Qn=function(){var e=Object(s.c)(Yn).apiConfig,t=Object(r.useState)(e.hostname),n=Object(Ot.a)(t,2),a=n[0],i=n[1],c=Object(r.useState)(e.port),u=Object(Ot.a)(c,2),l=u[0],f=u[1],p=Object(r.useState)(e.secret),d=Object(Ot.a)(p,2),h=d[0],v=d[1],m=Object(s.b)({updateClashAPIConfig:ze.g}),y=Object(r.useRef)(null);Object(r.useEffect)(function(){y.current.focus()},[]);var b=function(e){var t=e.target,n=t.name,r=t.value;switch(n){case"port":f(r);break;case"hostname":i(r);break;case"secret":v(r)}};function g(){m.updateClashAPIConfig({hostname:a,port:l,secret:h})}return o.a.createElement("div",{className:Zn.a.root,ref:y,onKeyDown:function(e){13===e.keyCode&&g()}},o.a.createElement("div",{className:Zn.a.header},o.a.createElement("div",{className:Zn.a.icon},o.a.createElement(Te,{width:160,height:160}))),o.a.createElement("div",{className:Zn.a.body},o.a.createElement("div",{className:Zn.a.hostnamePort},o.a.createElement("div",null,o.a.createElement(Gn,{id:"hostname",name:"hostname",label:"Hostname",type:"text",value:a,onChange:b})),o.a.createElement("div",null,o.a.createElement(Gn,{id:"port",name:"port",label:"Port",type:"number",value:l,onChange:b}))),o.a.createElement("div",null,o.a.createElement(Gn,{id:"secret",name:"secret",label:"Secret(optional)",value:h,type:"text",onChange:b}))),o.a.createElement("div",{className:Zn.a.footer},o.a.createElement(En.a,{label:"Confirm",onClick:g})))},er=n("i53Z"),tr=n("rRNg"),nr=n.n(tr),rr=function(e){return{modals:e.modals}},or={closeModal:er.a,fetchConfigs:Qt.b};function ar(){if(!window.fetch){var e=Fe[De].detail,t=new Error(e);throw t.code=De,t}var n=Object(s.c)(rr).modals,a=Object(s.b)(or),i=a.closeModal,c=a.fetchConfigs;return Object(r.useEffect)(function(){c()},[c]),o.a.createElement(Vn,{isOpen:n.apiConfig,className:nr.a.content,overlayClassName:nr.a.overlay,shouldCloseOnOverlayClick:!1,shouldCloseOnEsc:!1,onRequestClose:function(){return i("apiConfig")}},o.a.createElement("div",{className:nr.a.container},o.a.createElement(Qn,null)))}var ir=n("ANjH");function cr(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(o){return"function"==typeof o?o(n,r,e):t(o)}}}}var ur=cr();ur.withExtraArgument=cr;var sr=ur,lr=n("EQlU"),fr=n("Tvb5"),pr=Object(ir.c)({app:ze.b,modals:er.b,proxies:lr.a,rules:fr.a,logs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$t,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case Ht:case zt:return Object(it.a)({},e,{},r);default:return e}},configs:Qt.a}),dr=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||ir.d;var hr=Object(ir.e)(pr,dr(Object(ir.a)(sr))),vr=(n("hN5/"),n("s9ru")),mr=n.n(vr),yr=o.a.lazy(function(){return n.e(2).then(n.bind(null,"wyCT"))}),br=o.a.lazy(function(){return n.e(4).then(n.bind(null,"BVyM"))});window.store=hr;var gr=function(){return o.a.createElement(Be,null,o.a.createElement(s.a,{store:hr},o.a.createElement(se,null,o.a.createElement("div",{className:mr.a.app},o.a.createElement(ar,null),o.a.createElement(re,{path:"/",render:function(e){return o.a.createElement(ot,e)}}),o.a.createElement("div",{className:mr.a.content},o.a.createElement(r.Suspense,{fallback:o.a.createElement(he,{height:"200px"}),maxDuration:10},o.a.createElement(re,{exact:!0,path:"/",render:function(){return o.a.createElement(_t,null)}}),o.a.createElement(re,{exact:!0,path:"/overview",render:function(){return o.a.createElement(_t,null)}}),o.a.createElement(re,{exact:!0,path:"/configs",component:Fn}),o.a.createElement(re,{exact:!0,path:"/logs",component:sn}),o.a.createElement(re,{exact:!0,path:"/proxies",render:function(){return o.a.createElement(yr,null)}}),o.a.createElement(re,{exact:!0,path:"/rules",render:function(){return o.a.createElement(br,null)}})))))))},wr=document.getElementById("app");u.a.setAppElement(wr),(0,i.a.unstable_createRoot)(wr).render(o.a.createElement(gr,null)),console.log("Checkout the repo: https://github.com/haishanh/yacd")},Ff2n:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n("zLVn");function o(e,t){if(null==e)return{};var n,o,a=Object(r.a)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},G4qV:function(e,t,n){"use strict";function r(e,t){return e===t}n.d(t,"a",function(){return o});var o=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:r,n=null,o=null;return function(){return function(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o'}),p=(l.a.add(f),f),d=n("u4Dv");var h=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},v=n("XqMk"),m="object"==typeof self&&self&&self.Object===Object&&self,y=v.a||m||Function("return this")(),b=function(){return y.Date.now()},g=y.Symbol,w=Object.prototype,O=w.hasOwnProperty,E=w.toString,x=g?g.toStringTag:void 0;var C=function(e){var t=O.call(e,x),n=e[x];try{e[x]=void 0;var r=!0}catch(e){}var o=E.call(e);return r&&(t?e[x]=n:delete e[x]),o},j=Object.prototype.toString;var S=function(e){return j.call(e)},_="[object Null]",k="[object Undefined]",T=g?g.toStringTag:void 0;var P=function(e){return null==e?void 0===e?k:_:T&&T in Object(e)?C(e):S(e)};var N=function(e){return null!=e&&"object"==typeof e},M="[object Symbol]";var A=function(e){return"symbol"==typeof e||N(e)&&P(e)==M},R=NaN,L=/^\s+|\s+$/g,I=/^[-+]0x[0-9a-f]+$/i,D=/^0b[01]+$/i,F=/^0o[0-7]+$/i,U=parseInt;var B=function(e){if("number"==typeof e)return e;if(A(e))return R;if(h(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(L,"");var n=D.test(e);return n||F.test(e)?U(e.slice(2),n?2:8):I.test(e)?R:+e},q="Expected a function",W=Math.max,z=Math.min;var H=function(e,t,n){var r,o,a,i,c,u,s=0,l=!1,f=!1,p=!0;if("function"!=typeof e)throw new TypeError(q);function d(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function v(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-s>=a}function m(){var e=b();if(v(e))return y(e);c=setTimeout(m,function(e){var n=t-(e-u);return f?z(n,a-(e-s)):n}(e))}function y(e){return c=void 0,p&&r?d(e):(r=o=void 0,i)}function g(){var e=b(),n=v(e);if(r=arguments,o=this,u=e,n){if(void 0===c)return function(e){return s=e,c=setTimeout(m,t),l?d(e):i}(u);if(f)return c=setTimeout(m,t),d(u)}return void 0===c&&(c=setTimeout(m,t)),i}return t=B(t)||0,h(n)&&(l=!!n.leading,a=(f="maxWait"in n)?W(B(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==c&&clearTimeout(c),s=0,r=u=o=c=void 0},g.flush=function(){return void 0===c?i:y(b())},g},V=n("OA2e"),J=n.n(V);t.a=function(e){var t=e.mapStateToProps,n=e.actions;return Object(o.memo)(function(){var e=Object(d.b)(n).updateSearchText,c=Object(o.useMemo)(function(){return H(e,300)},[e]),u=Object(d.c)(t).searchText,s=Object(o.useState)(u),l=Object(r.a)(s,2),f=l[0],h=l[1];return a.a.createElement("div",{className:J.a.RuleSearch},a.a.createElement("div",{className:J.a.RuleSearchContainer},a.a.createElement("div",{className:J.a.inputWrapper},a.a.createElement("input",{type:"text",value:f,onChange:function(e){h(e.target.value),c(e.target.value)},className:J.a.input})),a.a.createElement("div",{className:J.a.iconWrapper},a.a.createElement(i.a,{id:p.id}))))})}},IaFt:function(e,t,n){(function(t){var n;n=function(){"use strict";function e(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!=typeof window?window:void 0!==t||"undefined"!=typeof self&&self;var n=e(function(e,t){e.exports=function(){function e(e){var t=e&&"object"==typeof e;return t&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(t,n){var o,a=n&&!0===n.clone;return a&&e(t)?r((o=t,Array.isArray(o)?[]:{}),t,n):t}function n(n,o,a){var i=n.slice();return o.forEach(function(o,c){void 0===i[c]?i[c]=t(o,a):e(o)?i[c]=r(n[c],o,a):-1===n.indexOf(o)&&i.push(t(o,a))}),i}function r(o,a,i){var c=Array.isArray(a),u=i||{arrayMerge:n},s=u.arrayMerge||n;return c?Array.isArray(o)?s(o,a,i):t(a,i):function(n,o,a){var i={};return e(n)&&Object.keys(n).forEach(function(e){i[e]=t(n[e],a)}),Object.keys(o).forEach(function(c){e(o[c])&&n[c]?i[c]=r(n[c],o[c],a):i[c]=t(o[c],a)}),i}(o,a,i)}return r.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce(function(e,n){return r(e,n,t)})},r}()}),r=e(function(e,t){t.default={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}},e.exports=t.default}),o=r.svg,a=r.xlink,i={};i[o.name]=o.uri,i[a.name]=a.uri;var c,u=function(e,t){return void 0===e&&(e=""),""+e+""},s=r.svg,l=r.xlink,f={attrs:(c={style:["position: absolute","width: 0","height: 0"].join("; ")},c[s.name]=s.uri,c[l.name]=l.uri,c)},p=function(e){this.config=n(f,e||{}),this.symbols=[]};p.prototype.add=function(e){var t=this.symbols,n=this.find(e.id);return n?(t[t.indexOf(n)]=e,!1):(t.push(e),!0)},p.prototype.remove=function(e){var t=this.symbols,n=this.find(e);return!!n&&(t.splice(t.indexOf(n),1),n.destroy(),!0)},p.prototype.find=function(e){return this.symbols.filter(function(t){return t.id===e})[0]||null},p.prototype.has=function(e){return null!==this.find(e)},p.prototype.stringify=function(){var e=this.config.attrs,t=this.symbols.map(function(e){return e.stringify()}).join("");return u(t,e)},p.prototype.toString=function(){return this.stringify()},p.prototype.destroy=function(){this.symbols.forEach(function(e){return e.destroy()})};var d=function(e){var t=e.id,n=e.viewBox,r=e.content;this.id=t,this.viewBox=n,this.content=r};d.prototype.stringify=function(){return this.content},d.prototype.toString=function(){return this.stringify()},d.prototype.destroy=function(){var e=this;["id","viewBox","content"].forEach(function(t){return delete e[t]})};var h=function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n},v=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"==typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return h(u(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(d),m={autoConfigure:!0,mountTo:"body",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:"locationChange",locationChangeAngularEmitter:!1,usagesToUpdate:"use[*|href]",moveGradientsOutsideSymbol:!1},y=function(e){return Array.prototype.slice.call(e,0)},b={isChrome:function(){return/chrome/i.test(navigator.userAgent)},isFirefox:function(){return/firefox/i.test(navigator.userAgent)},isIE:function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},isEdge:function(){return/edge/i.test(navigator.userAgent)}},g=function(e){var t=[];return y(e.querySelectorAll("style")).forEach(function(e){e.textContent+="",t.push(e)}),t},w=function(e){return(e||window.location.href).split("#")[0]},O=function(e){angular.module("ng").run(["$rootScope",function(t){t.$on("$locationChangeSuccess",function(t,n,r){var o,a,i;o=e,a={oldUrl:r,newUrl:n},(i=document.createEvent("CustomEvent")).initCustomEvent(o,!1,!1,a),window.dispatchEvent(i)})}])},E=function(e,t){return void 0===t&&(t="linearGradient, radialGradient, pattern"),y(e.querySelectorAll("symbol")).forEach(function(e){y(e.querySelectorAll(t)).forEach(function(t){e.parentNode.insertBefore(t,e)})}),e},x=r.xlink.uri,C="xlink:href",j=/[{}|\\\^\[\]`"<>]/g;function S(e){return e.replace(j,function(e){return"%"+e[0].charCodeAt(0).toString(16).toUpperCase()})}var _,k=["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke","style"],T=k.map(function(e){return"["+e+"]"}).join(","),P=function(e,t,n,r){var o=S(n),a=S(r);(function(e,t){return y(e).reduce(function(e,n){if(!n.attributes)return e;var r=y(n.attributes),o=t?r.filter(t):r;return e.concat(o)},[])})(e.querySelectorAll(T),function(e){var t=e.localName,n=e.value;return-1!==k.indexOf(t)&&-1!==n.indexOf("url("+o)}).forEach(function(e){return e.value=e.value.replace(new RegExp(o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),a)}),function(e,t,n){y(e).forEach(function(e){var r=e.getAttribute(C);if(r&&0===r.indexOf(t)){var o=r.replace(t,n);e.setAttributeNS(x,C,o)}})}(t,o,a)},N={MOUNT:"mount",SYMBOL_MOUNT:"symbol_mount"},M=function(e){function t(t){var r=this;void 0===t&&(t={}),e.call(this,n(m,t));var o,a=(o=o||Object.create(null),{on:function(e,t){(o[e]||(o[e]=[])).push(t)},off:function(e,t){o[e]&&o[e].splice(o[e].indexOf(t)>>>0,1)},emit:function(e,t){(o[e]||[]).map(function(e){e(t)}),(o["*"]||[]).map(function(n){n(e,t)})}});this._emitter=a,this.node=null;var i=this.config;if(i.autoConfigure&&this._autoConfigure(t),i.syncUrlsWithBaseTag){var c=document.getElementsByTagName("base")[0].getAttribute("href");a.on(N.MOUNT,function(){return r.updateUrls("#",c)})}var u=this._handleLocationChange.bind(this);this._handleLocationChange=u,i.listenLocationChangeEvent&&window.addEventListener(i.locationChangeEvent,u),i.locationChangeAngularEmitter&&O(i.locationChangeEvent),a.on(N.MOUNT,function(e){i.moveGradientsOutsideSymbol&&E(e)}),a.on(N.SYMBOL_MOUNT,function(e){i.moveGradientsOutsideSymbol&&E(e.parentNode),(b.isIE()||b.isEdge())&&g(e)})}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={isMounted:{}};return r.isMounted.get=function(){return!!this.node},t.prototype._autoConfigure=function(e){var t=this.config;void 0===e.syncUrlsWithBaseTag&&(t.syncUrlsWithBaseTag=void 0!==document.getElementsByTagName("base")[0]),void 0===e.locationChangeAngularEmitter&&(t.locationChangeAngularEmitter="angular"in window),void 0===e.moveGradientsOutsideSymbol&&(t.moveGradientsOutsideSymbol=b.isFirefox())},t.prototype._handleLocationChange=function(e){var t=e.detail,n=t.oldUrl,r=t.newUrl;this.updateUrls(n,r)},t.prototype.add=function(t){var n=e.prototype.add.call(this,t);return this.isMounted&&n&&(t.mount(this.node),this._emitter.emit(N.SYMBOL_MOUNT,t.node)),n},t.prototype.attach=function(e){var t=this,n=this;if(n.isMounted)return n.node;var r="string"==typeof e?document.querySelector(e):e;return n.node=r,this.symbols.forEach(function(e){e.mount(n.node),t._emitter.emit(N.SYMBOL_MOUNT,e.node)}),y(r.querySelectorAll("symbol")).forEach(function(e){var t=v.createFromExistingNode(e);t.node=e,n.add(t)}),this._emitter.emit(N.MOUNT,r),r},t.prototype.destroy=function(){var e=this.config,t=this.symbols,n=this._emitter;t.forEach(function(e){return e.destroy()}),n.off("*"),window.removeEventListener(e.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},t.prototype.mount=function(e,t){void 0===e&&(e=this.config.mountTo),void 0===t&&(t=!1);if(this.isMounted)return this.node;var n="string"==typeof e?document.querySelector(e):e,r=this.render();return this.node=r,t&&n.childNodes[0]?n.insertBefore(r,n.childNodes[0]):n.appendChild(r),this._emitter.emit(N.MOUNT,r),r},t.prototype.render=function(){return h(this.stringify())},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},t.prototype.updateUrls=function(e,t){if(!this.isMounted)return!1;var n=document.querySelectorAll(this.config.usagesToUpdate);return P(this.node,n,w(e)+"#",w(t)+"#"),!0},Object.defineProperties(t.prototype,r),t}(p),A=e(function(e){var t,n,r,o,a;e.exports=(n=[],r=document,o=r.documentElement.doScroll,(a=(o?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState))||r.addEventListener("DOMContentLoaded",t=function(){for(r.removeEventListener("DOMContentLoaded",t),a=1;t=n.shift();)t()}),function(e){a?setTimeout(e,0):n.push(e)})});!!window.__SVG_SPRITE__?_=window.__SVG_SPRITE__:(_=new M({attrs:{id:"__SVG_SPRITE_NODE__"}}),window.__SVG_SPRITE__=_);var R=function(){var e=document.getElementById("__SVG_SPRITE_NODE__");e?_.attach(e):_.mount(document.body,!0)};return document.body?R():A(R),_},e.exports=n()}).call(this,n("yLpj"))},"J3/6":function(e,t,n){e.exports={TrafficNow:"_37kQcxVR4T",down:"_1U3kUwas7v",up:"-Hr5Z5iYfF"}},JX7q:function(e,t,n){"use strict";function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,"a",function(){return r})},Jf6s:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("EJpJ"),o="/traffic",a=new TextDecoder("utf-8"),i={labels:Array(150),up:Array(150),down:Array(150),size:150,subscribers:[],appendData:function(e){this.up.push(e.up),this.down.push(e.down);var t=new Date,n=""+t.getMinutes()+t.getSeconds();this.labels.push(n),this.up.length>this.size&&this.up.shift(),this.down.length>this.size&&this.down.shift(),this.labels.length>this.size&&this.labels.shift(),this.subscribers.forEach(function(t){return t(e)})},subscribe:function(e){var t=this;return this.subscribers.push(e),function(){var n=t.subscribers.indexOf(e);t.subscribers.splice(n,1)}}},c=!1,u="";function s(e){i.appendData(JSON.parse(e))}function l(e){if(c)return i;c=!0;var t=Object(r.a)(e),n=t.url,l=t.init;return fetch(n+o,l).then(function(e){e.ok?function e(t){return t.read().then(function(n){for(var r=n.done,o=n.value,i=a.decode(o,{stream:!r}),l=(u+=i).split("\n"),f=l[l.length-1],p=0;p0&&0===(g-=1)&&f.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(s.returnFocus(),s.teardownScopedFocus()):s.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose()},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(s.setupScopedFocus(n.node),s.markForFocusLater()),n.setState({isOpen:!0},function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen()}))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())})},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){e.keyCode===y&&(0,l.default)(n.content,e),n.props.shouldCloseOnEsc&&e.keyCode===b&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r="object"===(void 0===t?"undefined":o(t))?t:{base:m[e],afterOpen:m[e]+"--after-open",beforeClose:m[e]+"--before-close"},a=r.base;return n.state.afterOpen&&(a=a+" "+r.afterOpen),n.state.beforeClose&&(a=a+" "+r.beforeClose),"string"==typeof t&&t?a+" "+t:a},n.attributesFromObject=function(e,t){return Object.keys(t).reduce(function(n,r){return n[e+"-"+r]=t[r],n},{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.Component),a(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&p.add(document.body,o),r&&p.add(document.getElementsByTagName("html")[0],r),n&&(g+=1,f.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,o=e.defaultStyles,a=t?{}:o.content,i=n?{}:o.overlay;return this.shouldBeClosed()?null:c.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:r({},i,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},c.default.createElement("div",r({ref:this.setContentRef,style:r({},a,this.props.style.content),className:this.buildClassName("content",t),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),t}();w.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},w.propTypes={isOpen:u.default.bool.isRequired,defaultStyles:u.default.shape({content:u.default.object,overlay:u.default.object}),style:u.default.shape({content:u.default.object,overlay:u.default.object}),className:u.default.oneOfType([u.default.string,u.default.object]),overlayClassName:u.default.oneOfType([u.default.string,u.default.object]),bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,ariaHideApp:u.default.bool,appElement:u.default.instanceOf(d.default),onAfterOpen:u.default.func,onAfterClose:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,role:u.default.string,contentLabel:u.default.string,aria:u.default.object,data:u.default.object,children:u.default.node,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func,testId:u.default.string},t.default=w,e.exports=t.default},QLaP:function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,a,i,c){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,r,o,a,i,c],l=0;(u=new Error(t.replace(/%s/g,function(){return s[l++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}}},RLOP:function(e,t,n){e.exports={logMeta:"_2tpN_G7FeO",logType:"_3wuPHKqO5W",logTime:"IwiVCclCSC",logText:"_3I1beKAMFt",logsWrapper:"_2MDNI6JESq",log:"_3KX1sKJ1QD",logPlaceholder:"_19_8g6kTIV",logPlaceholderIcon:"_3ljFcrWmBC"}},S1to:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,a.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,i=n[0],c=n[n.length-1];if(e===document.activeElement){if(!o)return;r=c}c!==document.activeElement||o||(r=i);i===document.activeElement&&o&&(r=c);if(r)return t.preventDefault(),void r.focus();var u=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==u||"Chrome"==u[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var s=n.indexOf(document.activeElement);s>-1&&(s+=o?-1:1);if(void 0===n[s])return t.preventDefault(),void(r=o?c:i).focus();t.preventDefault(),n[s].focus()};var r,o=n("ZDLa"),a=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},S7Mu:function(e,t,n){e.exports={root:"_2OZZRrEL0J",section:"lF_ZoyIdZN",sep:"VduFBb2hWX",label:"_2NQoBOQcGA"}},SLVX:function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",function(){return r})},SXSQ:function(e,t,n){"use strict";var r=n("wx14"),o=n("Ff2n"),a=n("q1tI"),i=n.n(a),c=n("17x9"),u=n.n(c),s=n("TSYQ"),l=n.n(s),f=function(e){var t=e.id,n=e.width,a=void 0===n?20:n,c=e.height,u=void 0===c?20:c,s=e.className,f=Object(o.a)(e,["id","width","height","className"]),p=l()("icon",t,s),d="#"+t;return i.a.createElement("svg",Object(r.a)({className:p,width:a,height:u},f),i.a.createElement("use",{xlinkHref:d}))};f.propTypes={id:u.a.string.isRequired,width:u.a.number,height:u.a.number,className:u.a.string},t.a=i.a.memo(f)},SzcZ:function(e,t,n){e.exports={root:"_1r-KsYFNaj",floatAbove:"Hn6h5kxOg7"}},TOwV:function(e,t,n){"use strict";e.exports=n("qT12")},TSYQ:function(e,t,n){var r; -/*! - Copyright (c) 2017 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/*! - Copyright (c) 2017 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0})}),b="rules/CompletedFetchRules",g="rule/UpdateSearchText";function w(e){return{type:g,payload:{searchText:e.toLowerCase()}}}function O(){return function(){var e=Object(i.a)(a.a.mark(function e(t,n){var r,o,i,c;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=Object(f.c)(n()),e.next=3,s(r);case 3:return o=e.sent,e.next=6,o.json();case 6:i=e.sent,d()(i.rules&&i.rules.length>=0,"there is no valid rules list in the rules API response"),c=i.rules.map(function(e,t){return e.id=t,e}),t({type:b,payload:{allRules:c}});case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}function E(){return function(){var e=Object(i.a)(a.a.mark(function e(t,n){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==v(n()).length){e.next=5;break}return e.next=4,t(O());case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}var x={allRules:[],searchText:""};function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case g:case b:return Object(r.a)({},e,{},o);default:return e}}},U8pU:function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return(o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)})(e)}n.d(t,"a",function(){return o})},V4mC:function(e,t,n){"use strict"; -/** @license React v16.6.1 - * react-cache.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Object.defineProperty(t,"__esModule",{value:!0});var r=n("q1tI"),o=n("QCnb"),a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function i(e,t){var n=a.current;if(null===n)throw Error("react-cache: read and preload may only be called from within a component's render. They are not supported in event handlers or lifecycle methods.");return n.readContext(e,t)}function c(e){return e}var u=function(e){function t(){!1===c&&i>r&&(c=!0,o.unstable_scheduleCallback(n))}function n(){c=!1;var e=r;if(null!==a)for(var t=a.previous;i>e&&null!==t;){var n=t.onDelete,o=t.previous;t.onDelete=null,t.previous=t.next=null,t===a?a=t=null:(a.previous=o,o.next=a,t=o),--i,n()}}var r=500,a=null,i=0,c=!1;return{add:function(e,t){return e={value:e,onDelete:t,next:null,previous:null},null===a?e.previous=e.next=e:((t=a.previous).next=e,e.previous=t,a.previous=e,e.next=a),a=e,i+=1,e},update:function(e,t){e.value=t},access:function(e){var n=e.next;if(null!==n){var r=a;if(a!==e){var o=e.previous;o.next=n,n.previous=o,(n=r.previous).next=e,e.previous=n,r.previous=e,e.next=r,a=e}}return t(),e.value},setLimit:function(e){r=e,t()}}}(),s=new Map,l=r.createContext(null);function f(e,t,n,r){var o=s.get(e);void 0===o&&(o=new Map,s.set(e,o));var a=o.get(r);if(void 0===a){(t=t(n)).then(function(e){if(0===i.status){var t=i;t.status=1,t.value=e}},function(e){if(0===i.status){var t=i;t.status=2,t.value=e}});var i={status:0,value:t};return e=u.add(i,function(e,t){var n=s.get(e);void 0!==n&&(n.delete(t),0===n.size&&s.delete(e))}.bind(null,e,r)),o.set(r,e),i}return u.access(a)}t.unstable_createResource=function(e,t){var n=void 0!==t?t:c,r={read:function(t){i(l);var o=n(t);switch((t=f(r,e,t,o)).status){case 0:throw t.value;case 1:return t.value;case 2:throw t.value}},preload:function(t){i(l);var o=n(t);f(r,e,t,o)}};return r},t.unstable_setGlobalCacheLimit=function(e){u.setLimit(e)}},VCL8:function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function a(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function i(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,i=null,c=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?i="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(i="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?c="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(c="UNSAFE_componentWillUpdate"),null!==n||null!==i||null!==c){var u=e.displayName||e.name,s="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+s+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==i?"\n "+i:"")+(null!==c?"\n "+c:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=a;var l=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;l.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return i}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},VKEO:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBlur=s,t.handleFocus=l,t.markForFocusLater=function(){i.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==i.length&&(e=i.pop()).focus())}catch(t){console.warn(["You tried to return focus to",e,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){i.length>0&&i.pop()},t.setupScopedFocus=function(e){c=e,window.addEventListener?(window.addEventListener("blur",s,!1),document.addEventListener("focus",l,!0)):(window.attachEvent("onBlur",s),document.attachEvent("onFocus",l))},t.teardownScopedFocus=function(){c=null,window.addEventListener?(window.removeEventListener("blur",s),document.removeEventListener("focus",l)):(window.detachEvent("onBlur",s),document.detachEvent("onFocus",l))};var r,o=n("ZDLa"),a=(r=o)&&r.__esModule?r:{default:r};var i=[],c=null,u=!1;function s(){u=!0}function l(){if(u){if(u=!1,!c)return;setTimeout(function(){c.contains(document.activeElement)||((0,a.default)(c)[0]||c).focus()},0)}}},VTBJ:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n("rePB");function o(e){for(var t=1;t=0)&&a(e,!n)}e.exports=t.default},bCCX:function(e,t,n){"use strict";(function(e,r){var o,a=n("SLVX");o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:r;var i=Object(a.a)(o);t.a=i}).call(this,n("yLpj"),n("3UD+")(e))},blRg:function(e,t,n){e.exports={switch:"nJQwngxVo8"}},dI71:function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",function(){return r})},ewTs:function(e,t,n){},fZtv:function(e,t,n){"use strict";(function(t){var n="__global_unique_id__";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(this,n("yLpj"))},fbhf:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dumpClassLists=function(){0};var r={},o={};t.add=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach(function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(a,e),n.add(e)});var n,a},t.remove=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach(function(e){!function(e,t){e[t]&&(e[t]-=1)}(a,e),0===a[e]&&n.remove(e)});var n,a}},gjz0:function(e,t,n){e.exports={root:"_2rN7aLQPCl"}},"hN5/":function(e,t,n){},i53Z:function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"a",function(){return u}),n.d(t,"b",function(){return l});var r=n("rePB"),o=n("VTBJ"),a="modals/OpenModal",i="modals/CloseModal";function c(e){return{type:a,payload:e}}function u(e){return{type:i,payload:e}}var s={apiConfig:!1};function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0,n=t.type,c=t.payload;switch(n){case a:return Object(o.a)({},s,Object(r.a)({},c,!0));case i:return Object(o.a)({},s,Object(r.a)({},c,!1));default:return e}}},iR1w:function(e,t,n){"use strict";var r=n("wx14"),o=n("dI71"),a=n("JX7q");function i(e,t){if(e.length!==t.length)return!1;for(var n=0;n=t?e.call(null):r.id=requestAnimationFrame(o)})};return r}var d=null;function h(e){if(void 0===e&&(e=!1),null===d||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?d="positive-descending":(t.scrollLeft=1,d=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),d}return d}var v=150,m=function(e,t){return e};function y(e){var t,n,i=e.getItemOffset,s=e.getEstimatedTotalSize,l=e.getItemSize,d=e.getOffsetForIndexAndAlignment,y=e.getStartIndexForOffset,g=e.getStopIndexForStartIndex,w=e.initInstanceProps,O=e.shouldResetStyleCacheOnItemSizeChange,E=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=w(n.props,Object(a.a)(Object(a.a)(n))),n._outerRef=void 0,n._resetIsScrollingTimeoutId=null,n.state={instance:Object(a.a)(Object(a.a)(n)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof n.props.initialScrollOffset?n.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},n._callOnItemsRendered=void 0,n._callOnItemsRendered=c(function(e,t,r,o){return n.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:o})}),n._callOnScroll=void 0,n._callOnScroll=c(function(e,t,r){return n.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})}),n._getItemStyle=void 0,n._getItemStyle=function(e){var t,r=n.props,o=r.direction,a=r.itemSize,c=r.layout,u=n._getItemStyleCache(O&&a,O&&c,O&&o);if(u.hasOwnProperty(e))t=u[e];else{var s,f=i(n.props,e,n._instanceProps),p=l(n.props,e,n._instanceProps),d="horizontal"===o||"horizontal"===c;u[e]=((s={position:"absolute"})["rtl"===o?"right":"left"]=d?f:0,s.top=d?0:f,s.height=d?"100%":p,s.width=d?p:"100%",t=s)}return t},n._getItemStyleCache=void 0,n._getItemStyleCache=c(function(e,t,n){return{}}),n._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,o=t.scrollLeft,a=t.scrollWidth;n.setState(function(e){if(e.scrollOffset===o)return null;var t=n.props.direction,i=o;if("rtl"===t)switch(h()){case"negative":i=-o;break;case"positive-descending":i=a-r-o}return i=Math.max(0,Math.min(i,a-r)),{isScrolling:!0,scrollDirection:e.scrollOffset0)for(var T=S;T<=_;T++)k.push(Object(u.createElement)(t,{data:p,key:h(T,p),index:T,isScrolling:w?E:void 0,style:this._getItemStyle(T)}));var P=s(this.props,this._instanceProps);return Object(u.createElement)(y||b||"div",{className:n,onScroll:C,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:a,width:O,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},g)},Object(u.createElement)(c||l||"div",{children:k,ref:i,style:{height:x?"100%":P,pointerEvents:E?"none":void 0,width:x?P:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,c=a.scrollOffset,u=a.scrollUpdateWasRequested;this._callOnScroll(i,c,u)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,a=r.scrollDirection,i=r.scrollOffset;if(0===t)return[0,0,0,0];var c=y(this.props,i,this._instanceProps),u=g(this.props,c,i,this._instanceProps),s=o&&"backward"!==a?1:Math.max(1,n),l=o&&"forward"!==a?1:Math.max(1,n);return[Math.max(0,c-s),Math.max(0,Math.min(t-1,u+l)),c,u]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var b=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},g=y({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r){var o=e.direction,a=e.height,i=e.itemCount,c=e.itemSize,u=e.layout,s=e.width,l="horizontal"===o||"horizontal"===u?s:a,f=Math.max(0,i*c-l),p=Math.min(f,t*c),d=Math.max(0,t*c-l+c);switch("smart"===n&&(n=r>=d-l&&r<=p+l?"auto":"center"),n){case"start":return p;case"end":return d;case"center":var h=Math.round(d+(p-d)/2);return hf+Math.floor(l/2)?f:h;case"auto":default:return r>=d&&r<=p?r:r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;S(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:k(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},mSXw:function(e,t,n){"use strict";e.exports=n("9iN/")},o0o1:function(e,t,n){e.exports=n("ls82")},oFgh:function(e,t,n){"use strict";var r=n("VTBJ"),o=n("o0o1"),a=n.n(o),i=n("HaE+"),c=n("EJpJ"),u="/configs";function s(e){return l.apply(this,arguments)}function l(){return(l=Object(i.a)(a.a.mark(function e(t){var n,r,o;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=Object(c.a)(t),r=n.url,o=n.init,e.next=3,fetch(r+u,o);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function f(e){return"socks-port"in e&&(e["socket-port"]=e["socks-port"]),e}function p(e,t){return d.apply(this,arguments)}function d(){return(d=Object(i.a)(a.a.mark(function e(t,n){var o,i,s;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=Object(c.a)(t),i=o.url,s=o.init,e.next=3,fetch(i+u,Object(r.a)({},s,{method:"PATCH",body:JSON.stringify(f(n))}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}var h=n("Jf6s"),v=n("i53Z"),m=n("p19a");n.d(t,"c",function(){return w}),n.d(t,"d",function(){return O}),n.d(t,"b",function(){return E}),n.d(t,"e",function(){return x}),n.d(t,"a",function(){return j});var y="configs/CompletedFetchConfigs",b="configs/OptimisticUpdateConfigs",g="configs/MarkHaveFetchedConfig",w=function(e){return e.configs},O=function(e){return e.configs["log-level"]};function E(){return function(){var e=Object(i.a)(a.a.mark(function e(t,n){var r,o,i,c;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,o=Object(m.c)(n()),e.next=4,s(o);case 4:r=e.sent,e.next=12;break;case 7:return e.prev=7,e.t0=e.catch(0),console.log("Error fetch configs",e.t0),t(Object(v.c)("apiConfig")),e.abrupt("return");case 12:if(r.ok){e.next=15;break}return 404===r.status||401===r.status?t(Object(v.c)("apiConfig")):console.log("Error fetch configs",r.statusText),e.abrupt("return");case 15:return e.next=17,r.json();case 17:i=e.sent,t({type:y,payload:i}),w(n()).haveFetchedConfig?(c=Object(m.c)(n()),h.a(c)):t({type:g,payload:{haveFetchedConfig:!0}});case 21:case"end":return e.stop()}},e,null,[[0,7]])}));return function(t,n){return e.apply(this,arguments)}}()}function x(e){return function(){var t=Object(i.a)(a.a.mark(function t(n,o){var i;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:p(Object(m.c)(o()),e).then(function(e){!1===e.ok&&console.log("Error update configs",e.statusText)},function(e){throw console.log("Error update configs",e),e}).then(function(){n(E())}),i=w(o()),n({type:b,payload:Object(r.a)({},i,{},e)});case 4:case"end":return t.stop()}},t)}));return function(e,n){return t.apply(this,arguments)}}()}var C={port:7890,"socks-port":7891,"redir-port":0,"allow-lan":!1,mode:"Rule","log-level":"silent",haveFetchedConfig:!1};function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case g:case b:case y:return Object(r.a)({},e,{},o);default:return e}}},p19a:function(e,t,n){"use strict";var r=n("VTBJ"),o=n("ODXe"),a=n("o0o1"),i=n.n(a),c=n("HaE+"),u="yacd.haishan.me";function s(e){try{var t=JSON.stringify(e);localStorage.setItem(u,t)}catch(e){}}var l=n("oFgh"),f=n("i53Z");n.d(t,"c",function(){return v}),n.d(t,"d",function(){return y}),n.d(t,"g",function(){return b}),n.d(t,"f",function(){return O}),n.d(t,"a",function(){return E}),n.d(t,"e",function(){return x}),n.d(t,"b",function(){return S});var p="app/UpdateClashAPIConfig",d="app/SwitchTheme",h="app/SELECT_CHART_STYLE_INDEX",v=function(e){return e.app.clashAPIConfig},m=function(e){return e.app.theme},y=function(e){return e.app.selectedChartStyleIndex};function b(e){var t=e.hostname,n=e.port,r=e.secret;return function(){var e=Object(c.a)(i.a.mark(function e(o,a){var c;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:c=t.trim().replace(/^http(s):\/\//,""),o({type:p,payload:{hostname:c,port:n,secret:r}}),s(a().app),o(Object(f.a)("apiConfig")),o(Object(l.b)());case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}var g=document.body;function w(){"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark")?(g.classList.remove("light"),g.classList.add("dark")):(g.classList.remove("dark"),g.classList.add("light"))}function O(){return function(e,t){var n="light"===m(t())?"dark":"light";w(n),e({type:d,payload:{theme:n}}),s(t().app)}}function E(){!function(){try{localStorage.removeItem(u)}catch(e){}}();try{location.reload()}catch(e){}}function x(e){return function(t,n){t({type:h,payload:{selectedChartStyleIndex:e}}),s(n().app)}}var C={clashAPIConfig:{hostname:"127.0.0.1",port:"7892",secret:""},selectedChartStyleIndex:0,theme:"dark"};function j(){var e=function(){try{var e=localStorage.getItem(u);if(!e)return;return JSON.parse(e)}catch(e){return}}();e=Object(r.a)({},C,{},e);var t=function(){var e=location.search,t={};if("string"!=typeof e||""===e)return t;for(var n=e.replace(/^\?/,"").split("&"),r=0;r0&&void 0!==arguments[0]?arguments[0]:j(),t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case p:return Object(r.a)({},e,{clashAPIConfig:Object(r.a)({},o)});case d:case h:return Object(r.a)({},e,{},o);default:return e}}},qFS3:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}n.d(t,"a",function(){return r})}},[[0,5,1,3]],[2,4,6]]); \ No newline at end of file diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/web/app.5a1265735d78e67da9fe.css b/package/jsda/luci-app-clash/root/usr/share/clash/web/app.83f6698cbf7891b130e2.css similarity index 100% rename from package/jsda/luci-app-clash/root/usr/share/clash/web/app.5a1265735d78e67da9fe.css rename to package/jsda/luci-app-clash/root/usr/share/clash/web/app.83f6698cbf7891b130e2.css diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/web/app.99489dd938c57b6c22da.js b/package/jsda/luci-app-clash/root/usr/share/clash/web/app.99489dd938c57b6c22da.js new file mode 100644 index 0000000000..231300f892 --- /dev/null +++ b/package/jsda/luci-app-clash/root/usr/share/clash/web/app.99489dd938c57b6c22da.js @@ -0,0 +1,73 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+wdc":function(e,t,n){"use strict";(function(e){ +/** @license React v0.13.6 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +Object.defineProperty(t,"__esModule",{value:!0});var n=null,r=!1,o=3,a=-1,i=-1,c=!1,u=!1;function s(){if(!c){var e=n.expirationTime;u?j():u=!0,E(p,e)}}function l(){var e=n,t=n.next;if(n===t)n=null;else{var r=n.previous;n=r.next=t,t.previous=r}e.next=e.previous=null,r=e.callback,t=e.expirationTime,e=e.priorityLevel;var a=o,c=i;o=e,i=t;try{var u=r()}finally{o=a,i=c}if("function"==typeof u)if(u={callback:u,priorityLevel:e,expirationTime:t,next:null,previous:null},null===n)n=u.next=u.previous=u;else{r=null,e=n;do{if(e.expirationTime>=t){r=e;break}e=e.next}while(e!==n);null===r?r=n:r===n&&(n=u,s()),(t=r.previous).next=r.previous=u,u.next=r,u.previous=t}}function f(){if(-1===a&&null!==n&&1===n.priorityLevel){c=!0;try{do{l()}while(null!==n&&1===n.priorityLevel)}finally{c=!1,null!==n?s():u=!1}}}function p(e){c=!0;var o=r;r=e;try{if(e)for(;null!==n;){var a=t.unstable_now();if(!(n.expirationTime<=a))break;do{l()}while(null!==n&&n.expirationTime<=a)}else if(null!==n)do{l()}while(null!==n&&!x())}finally{c=!1,r=o,null!==n?s():u=!1,f()}}var d,h,v=Date,m="function"==typeof setTimeout?setTimeout:void 0,y="function"==typeof clearTimeout?clearTimeout:void 0,b="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,g="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;function O(e){d=b(function(t){y(h),e(t)}),h=m(function(){g(d),e(t.unstable_now())},100)}if("object"==typeof performance&&"function"==typeof performance.now){var w=performance;t.unstable_now=function(){return w.now()}}else t.unstable_now=function(){return v.now()};var E,j,x,C=null;if("undefined"!=typeof window?C=window:void 0!==e&&(C=e),C&&C._schedMock){var S=C._schedMock;E=S[0],j=S[1],x=S[2],t.unstable_now=S[3]}else if("undefined"==typeof window||"function"!=typeof MessageChannel){var P=null,_=function(e){if(null!==P)try{P(e)}finally{P=null}};E=function(e){null!==P?setTimeout(E,0,e):(P=e,setTimeout(_,0,!1))},j=function(){P=null},x=function(){return!1}}else{"undefined"!=typeof console&&("function"!=typeof b&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof g&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var k=null,T=!1,N=-1,M=!1,A=!1,R=0,D=33,L=33;x=function(){return R<=t.unstable_now()};var I=new MessageChannel,F=I.port2;I.port1.onmessage=function(){T=!1;var e=k,n=N;k=null,N=-1;var r=t.unstable_now(),o=!1;if(0>=R-r){if(!(-1!==n&&n<=r))return M||(M=!0,O(U)),k=e,void(N=n);o=!0}if(null!==e){A=!0;try{e(o)}finally{A=!1}}};var U=function(e){if(null!==k){O(U);var t=e-R+L;tt&&(t=8),L=tt?F.postMessage(void 0):M||(M=!0,O(U))},j=function(){k=null,T=!1,N=-1}}t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,n){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=o,i=a;o=e,a=t.unstable_now();try{return n()}finally{o=r,a=i,f()}},t.unstable_next=function(e){switch(o){case 1:case 2:case 3:var n=3;break;default:n=o}var r=o,i=a;o=n,a=t.unstable_now();try{return e()}finally{o=r,a=i,f()}},t.unstable_scheduleCallback=function(e,r){var i=-1!==a?a:t.unstable_now();if("object"==typeof r&&null!==r&&"number"==typeof r.timeout)r=i+r.timeout;else switch(o){case 1:r=i+-1;break;case 2:r=i+250;break;case 5:r=i+1073741823;break;case 4:r=i+1e4;break;default:r=i+5e3}if(e={callback:e,priorityLevel:o,expirationTime:r,next:null,previous:null},null===n)n=e.next=e.previous=e,s();else{i=null;var c=n;do{if(c.expirationTime>r){i=c;break}c=c.next}while(c!==n);null===i?i=n:i===n&&(n=e,s()),(r=i.previous).next=i.previous=e,e.next=i,e.previous=r}return e},t.unstable_cancelCallback=function(e){var t=e.next;if(null!==t){if(t===e)n=null;else{e===n&&(n=t);var r=e.previous;r.next=t,t.previous=r}e.next=e.previous=null}},t.unstable_wrapCallback=function(e){var n=o;return function(){var r=o,i=a;o=n,a=t.unstable_now();try{return e.apply(this,arguments)}finally{o=r,a=i,f()}}},t.unstable_getCurrentPriorityLevel=function(){return o},t.unstable_shouldYield=function(){return!r&&(null!==n&&n.expirationTime"+e+""};return function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"==typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n}(u(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(e)},e.exports=n()}).call(this,n("yLpj"))},"5Wrh":function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),a=n("17x9"),i=n.n(a),c=n("Pvz/"),u=n.n(c),s=function(){},l=o.a.memo(function(e){var t=e.label,n=e.onClick,r=void 0===n?s:n;return o.a.createElement("button",{className:u.a.btn,onClick:r},t)});l.propTypes={label:i.a.string.isRequired,onClick:i.a.func},t.a=l},"7B0+":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=(r=n("q1tI"))&&"object"==typeof r&&"default"in r?r.default:r;function a(e){return a.warnAboutHMRDisabled&&(a.warnAboutHMRDisabled=!0,console.error("React-Hot-Loader: misconfiguration detected, using production version in non-production environment."),console.error("React-Hot-Loader: Hot Module Replacement is not enabled.")),o.Children.only(e.children)}a.warnAboutHMRDisabled=!1;var i=function e(){return e.shouldWrapWithAppContainer?function(e){return function(t){return o.createElement(a,null,o.createElement(e,t))}}:function(e){return e}};i.shouldWrapWithAppContainer=!1;t.AppContainer=a,t.hot=i,t.areComponentsEqual=function(e,t){return e===t},t.setConfig=function(){},t.cold=function(e){return e},t.configureComponent=function(){}},"7JQg":function(e,t,n){e.exports={loading:"_1EnK5MMInH",pulse:"_39z9L5I2ao",pulseScaleOut:"_1DSWK2a-pe"}},"7Qc+":function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},"87sv":function(e,t,n){"use strict";e.exports=n("7B0+")},"8tgM":function(e,t,n){var r=n("7Qc+");e.exports=d,e.exports.parse=a,e.exports.compile=function(e,t){return c(a(e,t))},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,c="",l=t&&t.delimiter||"/";null!=(n=o.exec(e));){var f=n[0],p=n[1],d=n.index;if(c+=e.slice(i,d),i=d+f.length,p)c+=p[1];else{var h=e[i],v=n[2],m=n[3],y=n[4],b=n[5],g=n[6],O=n[7];c&&(r.push(c),c="");var w=null!=v&&null!=h&&h!==v,E="+"===g||"*"===g,j="?"===g||"*"===g,x=n[2]||l,C=y||b;r.push({name:m||a++,prefix:v||"",delimiter:x,optional:j,repeat:E,partial:w,asterisk:!!O,pattern:C?s(C):O?".*":"[^"+u(x)+"]+?"})}}return i0&&void 0!==arguments[0]?arguments[0]:N,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case C:case x:case j:return g({},e,{},r);default:return e}}},ERIh:function(e,t,n){"use strict";n.r(t);n("pNMO"),n("4Brf"),n("tjZM"),n("3I1R"),n("7+kd"),n("0oug"),n("KhsS"),n("gOCb"),n("a57n"),n("GXvd"),n("I1Gw"),n("gXIK"),n("lEou"),n("gbiT"),n("ma9I"),n("qHT+"),n("piMb"),n("yyme"),n("TeQF"),n("fbCW"),n("x0AG"),n("BIHw"),n("XbcX"),n("QWBl"),n("pjDv"),n("yq1k"),n("yXV3"),n("4mDm"),n("oVuX"),n("uqXc"),n("2B1R"),n("Xe3L"),n("E9XD"),n("9N29"),n("Junv"),n("+2oP"),n("Rfxz"),n("ToJy"),n("94Xl"),n("pDQq"),n("QGkA"),n("c9m3"),n("wZ/5"),n("gtqK"),n("rOQg"),n("tCCV"),n("rMz7"),n("9LPj"),n("7+zs"),n("DQNa"),n("tW5y"),n("sMBO"),n("DEfu"),n("Tskq"),n("Uydy"),n("eajv"),n("n/mU"),n("PqOI"),n("QNnp"),n("/5zm"),n("CsgD"),n("9mRW"),n("QFcT"),n("vAFs"),n("a5NK"),n("yiG3"),n("kNcU"),n("KvGi"),n("AmFO"),n("eJiR"),n("I9xj"),n("tl/u"),n("qePV"),n("NbN+"),n("8AyJ"),n("i6QF"),n("kSko"),n("WDsR"),n("r/Vq"),n("5uH8"),n("w1rZ"),n("JevA"),n("toAj"),n("VC3L"),n("zKZe"),n("Eqjn"),n("HRxU"),n("eoL8"),n("5xtp"),n("T63A"),n("3KgV"),n("wfmh"),n("5DmW"),n("27RR"),n("cDke"),n("NBAS"),n("Kxld"),n("yQYn"),n("4h0Y"),n("5D5o"),n("tkto"),n("v5b1"),n("W/eh"),n("zuhW"),n("r5Og"),n("ExoC"),n("07d7"),n("B6y2"),n("rNhl"),n("4l63"),n("5s+n"),n("p532"),n("pv2x"),n("SuFq"),n("PzqY"),n("rBZX"),n("XUE8"),n("nkod"),n("f3jH"),n("x2An"),n("25bX"),n("G/JM"),n("1t3B"),n("ftMj"),n("i5pp"),n("TWNs"),n("rB9j"),n("U3f4"),n("JfAA"),n("YGK4"),n("9bJ7"),n("inlA"),n("9tb/"),n("JTJg"),n("PKPk"),n("Rm1S"),n("hDyC"),n("TZCg"),n("2A+d"),n("OM9Z"),n("UxlC"),n("hByQ"),n("EnZy"),n("LKBx"),n("SYor"),n("HiXI"),n("7ueG"),n("GKVU"),n("E5NM"),n("BNMt"),n("zHFu"),n("x83w"),n("l2dK"),n("GRPF"),n("xdBZ"),n("mRH6"),n("yWo2"),n("IxXR"),n("TFPT"),n("Zk8X"),n("z8NH"),n("SpvK"),n("/Yfv"),n("iwkZ"),n("FDzp"),n("XMab"),n("ilnZ"),n("hMMk"),n("+ywr"),n("moxL"),n("qXVe"),n("c162"),n("waxf"),n("0TkE"),n("Onu3"),n("1dYe"),n("IL/d"),n("gvgV"),n("6R/c"),n("YL0P"),n("X5Zq"),n("MoCz"),n("P8wP"),n("7JcK"),n("ypFw"),n("JaFt"),n("zSZm"),n("PF2M"),n("KVSy"),n("ZJ55"),n("IZzc"),n("Fwt+"),n("s5qe"),n("cvf0"),n("ENF9"),n("H+LF"),n("FZtP"),n("3bBZ"),n("Ew+T"),n("n5b4"),n("Kz25"),n("vxnP"),n("mGGf"),n("ls82"),n("ewTs");var r=n("q1tI"),o=n.n(r),a=n("qWSy"),i=n.n(a),c=n("9rZX"),u=n.n(c),s=n("u4Dv"),l=n("dI71"),f=n("VbXa"),p=n.n(f),d=n("17x9"),h=n.n(d),v=n("fZtv"),m=n.n(v),y=1073741823;var b=o.a.createContext||function(e,t){var n,o,a="__create-react-context-"+m()()+"__",i=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}}),t}p()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[a]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):y,0!=(n|=0)&&this.emitter.set(e.value,n))}var a,i},r.render=function(){return this.props.children},n}(r.Component);i.childContextTypes=((n={})[a]=h.a.object.isRequired,n);var c=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}p()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?y:t},r.componentDidMount=function(){this.context[a]&&this.context[a].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?y:e},r.componentWillUnmount=function(){this.context[a]&&this.context[a].off(this.onUpdate)},r.getValue=function(){return this.context[a]?this.context[a].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return c.contextTypes=((o={})[a]=h.a.object,o),{Provider:i,Consumer:c}},g=n("wx14");function O(e){return"/"===e.charAt(0)}function w(e,t){for(var n=t,r=n+1,o=e.length;r1&&void 0!==arguments[1]?arguments[1]:"",n=e&&e.split("/")||[],r=t&&t.split("/")||[],o=e&&O(e),a=t&&O(t),i=o||a;if(e&&O(e)?r=n:n.length&&(r.pop(),r=r.concat(n)),!r.length)return"/";var c=void 0;if(r.length){var u=r[r.length-1];c="."===u||".."===u||""===u}else c=!1;for(var s=0,l=r.length;l>=0;l--){var f=r[l];"."===f?w(r,l):".."===f?(w(r,l),s++):s&&(w(r,l),s--)}if(!i)for(;s--;s)r.unshift("..");!i||""===r[0]||r[0]&&O(r[0])||r.unshift("");var p=r.join("/");return c&&"/"!==p.substr(-1)&&(p+="/"),p},j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var x=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every(function(t,r){return e(t,n[r])});var r=void 0===t?"undefined":j(t);if(r!==(void 0===n?"undefined":j(n)))return!1;if("object"===r){var o=t.valueOf(),a=n.valueOf();if(o!==t||a!==n)return e(o,a);var i=Object.keys(t),c=Object.keys(n);return i.length===c.length&&i.every(function(r){return e(t[r],n[r])})}return!1},C=!0,S="Invariant failed";var P=function(e,t){if(!e)throw C?new Error(S):new Error(S+": "+(t||""))};function _(e){return"/"===e.charAt(0)?e:"/"+e}function k(e){return"/"===e.charAt(0)?e.substr(1):e}function T(e,t){return function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)}(e,t)?e.substr(t.length):e}function N(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function M(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function A(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(g.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=E(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function R(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&x(e.state,t.state)}function D(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r=0?t:0)+"#"+e)}function X(e){void 0===e&&(e={}),L||P(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,o=void 0===r?I:r,a=n.hashType,i=void 0===a?"slash":a,c=e.basename?N(_(e.basename)):"",u=z[i],s=u.encodePath,l=u.decodePath;function f(){var e=l(H());return c&&(e=T(e,c)),A(e)}var p=D();function d(e){Object(g.a)(S,e),S.length=t.length,p.notifyListeners(S.location,S.action)}var h=!1,v=null;function m(){var e=H(),t=s(e);if(e!==t)V(t);else{var n=f(),r=S.location;if(!h&&R(r,n))return;if(v===M(n))return;v=null,function(e){if(h)h=!1,d();else{p.confirmTransitionTo(e,"POP",o,function(t){t?d({action:"POP",location:e}):function(e){var t=S.location,n=w.lastIndexOf(M(t));-1===n&&(n=0);var r=w.lastIndexOf(M(e));-1===r&&(r=0);var o=n-r;o&&(h=!0,E(o))}(e)})}}(n)}}var y=H(),b=s(y);y!==b&&V(b);var O=f(),w=[M(O)];function E(e){t.go(e)}var j=0;function x(e){1===(j+=e)&&1===e?window.addEventListener(W,m):0===j&&window.removeEventListener(W,m)}var C=!1;var S={length:t.length,action:"POP",location:O,createHref:function(e){return"#"+s(c+M(e))},push:function(e,t){var n=A(e,void 0,void 0,S.location);p.confirmTransitionTo(n,"PUSH",o,function(e){if(e){var t=M(n),r=s(c+t);if(H()!==r){v=t,function(e){window.location.hash=e}(r);var o=w.lastIndexOf(M(S.location)),a=w.slice(0,-1===o?0:o+1);a.push(t),w=a,d({action:"PUSH",location:n})}else d()}})},replace:function(e,t){var n=A(e,void 0,void 0,S.location);p.confirmTransitionTo(n,"REPLACE",o,function(e){if(e){var t=M(n),r=s(c+t);H()!==r&&(v=t,V(r));var o=w.indexOf(M(S.location));-1!==o&&(w[o]=t),d({action:"REPLACE",location:n})}})},go:E,goBack:function(){E(-1)},goForward:function(){E(1)},block:function(e){void 0===e&&(e=!1);var t=p.setPrompt(e);return C||(x(1),C=!0),function(){return C&&(C=!1,x(-1)),t()}},listen:function(e){var t=p.appendListener(e);return x(1),function(){x(-1),t()}}};return S}function J(e,t,n){return Math.min(Math.max(e,t),n)}var K=n("8tgM"),G=n.n(K),$=(n("mSXw"),n("zLVn")),Z=(n("2mql"),function(e){var t=b();return t.displayName=e,t}("Router")),Y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e})),n}Object(l.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(Z.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(o.a.Component);o.a.Component;o.a.Component;var Q={},ee=1e4,te=0;function ne(e,t){void 0===t&&(t={}),"string"==typeof t&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,c=void 0!==i&&i,u=n.sensitive,s=void 0!==u&&u;return[].concat(r).reduce(function(t,n){if(!n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=Q[n]||(Q[n]={});if(r[e])return r[e];var o=[],a={regexp:G()(e,o,t),keys:o};return te0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=void 0===t?24:t,r=e.height,a=void 0===r?24:r;return o.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.a.createElement("path",{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}))}Te.propTypes={width:h.a.number,height:h.a.number};var Ne=n("Tk1H"),Me=n.n(Ne),Ae="https://github.com/haishanh/yacd/issues";function Re(e){var t=e.message,n=e.detail;return o.a.createElement("div",{className:Me.a.root},o.a.createElement("div",{className:Me.a.yacd},o.a.createElement(ke,{width:150,height:150})),t?o.a.createElement("h1",null,t):null,n?o.a.createElement("p",null,n):null,o.a.createElement("p",null,o.a.createElement("a",{className:Me.a.link,href:Ae},o.a.createElement(Te,{width:16,height:16}),"haishanh/yacd")))}Re.propTypes={message:h.a.string};var De,Le=Re,Ie=0,Fe=(De={},Object(xe.a)(De,Ie,{message:"Browser not supported!",detail:'This browser does not support "fetch", please choose another one.'}),Object(xe.a)(De,"default",{message:"Oops, something went wrong!"}),De);var Ue=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),a=0;a'}),$e=(Ke.a.add(Ge),Ge);var Ze=function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("path",{d:"M24 14h-4l-3 9-6-18-3 9H4",stroke:"currentColor"})))};var Ye=n("kGfw"),Qe=n.n(Ye),et={activity:Ze,globe:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{transform:"translate(4 4)",stroke:"currentColor"},o.a.createElement("circle",{cx:"10",cy:"10",r:"10"}),o.a.createElement("path",{d:"M0 10h20M10 0a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}))))},command:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("path",{d:"M20 5a3 3 0 0 0-3 3v12a3 3 0 1 0 3-3H8a3 3 0 1 0 3 3V8a3 3 0 1 0-3 3h12a3 3 0 0 0 0-6z",stroke:"currentColor"})))},file:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{stroke:"currentColor"},o.a.createElement("path",{d:"M16 4H8a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V10l-6-6z"}),o.a.createElement("path",{d:"M16 4v6h6M18 15h-8M18 19h-8M12 11h-2"}))))},settings:function(){return o.a.createElement("svg",{width:"28",height:"28",viewBox:"0 0 28 28",xmlns:"http://www.w3.org/2000/svg"},o.a.createElement("g",{fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"},o.a.createElement("g",{transform:"translate(3 3)",stroke:"currentColor"},o.a.createElement("circle",{cx:"11",cy:"11",r:"3"}),o.a.createElement("path",{d:"M18.4 14a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V20a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 8 18.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H2a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 3.6 8a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H8a1.65 1.65 0 0 0 1-1.51V2a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V8c.26.604.852.997 1.51 1H20a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"}))))}},tt=o.a.memo(function(e){var t=e.location,n=e.iconId,r=e.labelText,a=e.to,i=et[n],c=t.pathname===a,u=We()(Qe.a.row,c?Qe.a.rowActive:null);return o.a.createElement(le,{to:a,className:u},o.a.createElement(i,{isActive:c}),o.a.createElement("div",{className:Qe.a.label},r))});tt.propTypes={location:h.a.shape({pathname:h.a.string}).isRequired,to:h.a.string.isRequired,iconId:h.a.string,labelText:h.a.string};var nt={switchTheme:ze.f};function rt(e){var t=e.location,n=Object(s.b)(nt).switchTheme;return o.a.createElement("div",{className:Qe.a.root},o.a.createElement("a",{href:"/",className:Qe.a.logoLink,rel:"noopener noreferrer"},o.a.createElement("div",{className:Qe.a.logo},o.a.createElement(ke,{width:80,height:80}))),o.a.createElement("div",{className:Qe.a.rows},o.a.createElement(tt,{to:"/",location:t,iconId:"activity",labelText:"Overview"}),o.a.createElement(tt,{to:"/proxies",location:t,iconId:"globe",labelText:"Proxies"}),o.a.createElement(tt,{to:"/rules",location:t,iconId:"command",labelText:"Rules"}),o.a.createElement(tt,{to:"/configs",location:t,iconId:"settings",labelText:"Config"}),o.a.createElement(tt,{to:"/logs",location:t,iconId:"file",labelText:"Logs"})),o.a.createElement("div",{className:Qe.a.themeSwitchContainer,onClick:n},o.a.createElement(He.a,{id:$e.id,width:20,height:20})))}rt.propTypes={location:h.a.shape({pathname:h.a.string}).isRequired};var ot=o.a.memo(rt),at=n("DKqX"),it=n("Jf6s"),ct=n("xaHF"),ut=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],st=function(e){if(e<1e3)return e+" B";var t=Math.min(Math.floor(Math.log10(e)/3),ut.length-1);return(e=Number((e/Math.pow(1e3,t)).toPrecision(3)))+" "+ut[t]},lt=Object(ct.unstable_createResource)(function(){return n.e(6).then(n.t.bind(null,"JVhT",7)).then(function(e){return e.default})}),ft={borderWidth:1,lineTension:0,pointRadius:0},pt={responsive:!0,maintainAspectRatio:!0,title:{display:!1},legend:{display:!0,position:"top",labels:{fontColor:"#ccc",boxWidth:20}},tooltips:{enabled:!1,mode:"index",intersect:!1,animationDuration:100},hover:{mode:"nearest",intersect:!0},scales:{xAxes:[{display:!1,gridLines:{display:!1}}],yAxes:[{display:!0,gridLines:{display:!0,color:"#555",borderDash:[3,6],drawBorder:!1},ticks:{callback:function(e){return st(e)+"/s "}}}]}},dt=[{down:{backgroundColor:"rgba(176, 209, 132, 0.8)",borderColor:"rgb(176, 209, 132)"},up:{backgroundColor:"rgba(181, 220, 231, 0.8)",borderColor:"rgb(181, 220, 231)"}},{up:{backgroundColor:"rgb(98, 190, 100)",borderColor:"rgb(78,146,79)"},down:{backgroundColor:"rgb(160, 230, 66)",borderColor:"rgb(110, 156, 44)"}},{up:{backgroundColor:"rgba(94, 175, 223, 0.3)",borderColor:"rgb(94, 175, 223)"},down:{backgroundColor:"rgba(139, 227, 195, 0.3)",borderColor:"rgb(139, 227, 195)"}},{up:{backgroundColor:"rgba(242, 174, 62, 0.3)",borderColor:"rgb(242, 174, 62)"},down:{backgroundColor:"rgba(69, 154, 248, 0.3)",borderColor:"rgb(69, 154, 248)"}}];function ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t4&&void 0!==arguments[4]?arguments[4]:{};mt(function(){var a=document.getElementById(t).getContext("2d"),i=new e(a,{type:"line",data:n,options:vt({},yt,{},o)}),c=r&&r.subscribe(function(){return i.update()});return function(){c&&c(),i.destroy()}},[e,t,n,r,o])}function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t=0;o--)r.push(e[o]);if(e.length===$t)for(var a=$t-1;a>t;a--)r.push(e[a]);return""===n?r:r.filter(function(e){return e.payload.toLowerCase().indexOf(n)>=0})});var tn={searchText:"",logs:[],tail:-1};var nn={updateSearchText:function(e){return{type:Kt,payload:{searchText:e.toLowerCase()}}}},rn=Object(Vt.a)({mapStateToProps:function(e){return{searchText:Qt(e)}},actions:nn}),on=n("oFgh"),an=n("RLOP"),cn=n.n(an),un=30,sn={debug:"none",info:"#454545",warning:"#b99105",error:"#c11c1c"};function ln(e){var t=e.time,n=e.even,r=e.payload,a=e.type,i=We()({even:n},cn.a.log);return o.a.createElement("div",{className:i},o.a.createElement("div",{className:cn.a.logMeta},o.a.createElement("div",{className:cn.a.logTime},t),o.a.createElement("div",{className:cn.a.logType,style:{backgroundColor:sn[a]}},a),o.a.createElement("div",{className:cn.a.logText},r)))}function fn(e,t){return t[e].id}ln.propTypes={time:h.a.string,even:h.a.bool,payload:h.a.string,type:h.a.string};var pn=Object(r.memo)(function(e){var t=e.index,n=e.style,r=e.data[t];return o.a.createElement("div",{style:n},o.a.createElement(ln,r))},Nt.b),dn={appendLog:function(e){return function(t,n){var r=n(),o=Zt(r),a=Yt(r),i=a>=$t-1?0:a+1;o[i]=e,t({type:Gt,payload:{tail:i}})}}};function hn(){var e=Object(s.c)(ze.c),t=e.hostname,n=e.port,a=e.secret,i=Object(s.b)(dn).appendLog,c=Object(s.c)(en),u=Object(s.c)(on.d);Object(r.useEffect)(function(){Ht({hostname:t,port:n,secret:a,logLevel:u},i)},[t,n,a,u,i]);var l=Object(Mt.a)(),f=Object(xt.a)(l,2),p=f[0],d=f[1];return o.a.createElement("div",null,o.a.createElement(at.a,{title:"Logs"}),o.a.createElement(rn,null),o.a.createElement("div",{ref:p,style:{paddingBottom:un}},0===c.length?o.a.createElement("div",{className:cn.a.logPlaceholder,style:{height:d-un}},o.a.createElement("div",{className:cn.a.logPlaceholderIcon},o.a.createElement(ke,{width:200,height:200})),o.a.createElement("div",null,"No logs yet, hang tight...")):o.a.createElement("div",{className:cn.a.logsWrapper},o.a.createElement(Nt.a,{height:d-un,width:"100%",itemCount:c.length,itemSize:80,itemData:c,itemKey:fn},pn))))}var vn=n("blRg"),mn=n.n(vn),yn=function(){};function bn(e){var t=e.checked,n=void 0!==t&&t,r=e.onChange,a=void 0===r?yn:r,i=e.name,c=void 0===i?"":i;return o.a.createElement("div",null,o.a.createElement("input",{type:"checkbox",name:c,checked:n,className:mn.a.switch,onChange:a}))}bn.propTypes={checked:h.a.bool,onChange:h.a.func,name:h.a.string};var gn=o.a.memo(bn),On=n("YKzy"),wn=n.n(On);function En(e){var t=e.options,n=e.value,a=e.name,i=e.onChange,c=Object(r.useMemo)(function(){return t.map(function(e){return e.value}).indexOf(n)},[t,n]),u=(100/t.length).toPrecision(3);return o.a.createElement("div",null,o.a.createElement("div",{className:wn.a.ToggleSwitch},o.a.createElement("div",{className:wn.a.slider,style:{width:u+"%",left:c*u+"%"}}),t.map(function(e,t){var r="".concat(a,"-").concat(e.label),c=0===t?"":"border-left";return o.a.createElement("label",{htmlFor:r,key:r,className:c},o.a.createElement("input",{id:r,name:a,type:"radio",value:e.value,checked:n===e.value,onChange:i}),o.a.createElement("div",null,e.label))})))}En.propTypes={options:h.a.array,value:h.a.string,name:h.a.string,onChange:h.a.func};var jn=o.a.memo(En),xn=n("Wii/"),Cn=n.n(xn);function Sn(e){return o.a.createElement("input",Object(g.a)({className:Cn.a.input},e))}Sn.propTypes={value:h.a.oneOfType([h.a.string,h.a.number]),type:h.a.string,onChange:h.a.func,name:h.a.string,placeholder:h.a.string};var Pn=n("5Wrh"),_n=n("uLK7"),kn=n.n(_n);function Tn(e){var t=e.OptionComponent,n=e.optionPropsList,r=e.selectedIndex,a=e.onChange;return o.a.createElement("div",{className:kn.a.root},n.map(function(e,n){var i=We()(kn.a.item,Object(xe.a)({},kn.a.itemActive,n===r));return o.a.createElement("div",{key:n,className:i,onClick:function(e){e.preventDefault(),n!==r&&a(n)}},o.a.createElement(t,e))}))}function Nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Mn(e){for(var t=1;t65535)return}y(n,r);break;default:return}}function g(e){var t=e.target,n=t.name,r=t.value;switch(n){case"port":case"socks-port":case"redir-port":var o=parseInt(r,10);if(o<0||o>65535)return;a(Object(xe.a)({},n,o))}}return o.a.createElement("div",null,o.a.createElement(at.a,{title:"Config"}),o.a.createElement("div",{className:Un.a.root},o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"HTTP Proxy Port"),o.a.createElement(Sn,{name:"port",value:f.port,onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"SOCKS5 Proxy Port"),o.a.createElement(Sn,{name:"socks-port",value:f["socks-port"],onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Redir Port"),o.a.createElement(Sn,{name:"redir-port",value:f["redir-port"],onChange:b,onBlur:g})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Allow LAN"),o.a.createElement(gn,{name:"allow-lan",checked:f["allow-lan"],onChange:b})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Mode"),o.a.createElement(jn,{options:Wn,name:"mode",value:f.mode,onChange:b})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Log Level"),o.a.createElement(jn,{options:zn,name:"log-level",value:f["log-level"],onChange:b}))),o.a.createElement("div",{className:Un.a.sep},o.a.createElement("div",null)),o.a.createElement("div",{className:Un.a.section},o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Chart Style"),o.a.createElement(Tn,{OptionComponent:In,optionPropsList:qn,selectedIndex:c,onChange:function(e){i(e)}})),o.a.createElement("div",null,o.a.createElement("div",{className:Un.a.label},"Action"),o.a.createElement(Pn.a,{label:"Log out",onClick:ze.a}))))}Kn.propTypes={configs:h.a.object};var Gn=n("Ff2n"),$n=n("Z9Yo"),Zn=n.n($n);function Yn(e){var t=e.isOpen,n=e.onRequestClose,r=e.className,a=e.overlayClassName,i=e.children,c=Object(Gn.a)(e,["isOpen","onRequestClose","className","overlayClassName","children"]),s=We()(r,Zn.a.content),l=We()(a,Zn.a.overlay);return o.a.createElement(u.a,Object(g.a)({isOpen:t,onRequestClose:n,className:s,overlayClassName:l},c),i)}Yn.propTypes={isOpen:h.a.bool.isRequired,onRequestClose:h.a.func.isRequired,children:h.a.node.isRequired,className:h.a.string,overlayClassName:h.a.string};var Qn=o.a.memo(Yn),er=n("SzcZ"),tr=n.n(er),nr=o.a.useCallback;function rr(e){var t=e.id,n=e.label,r=e.value,a=e.onChange,i=Object(Gn.a)(e,["id","label","value","onChange"]),c=nr(function(e){return a(e)},[a]),u=We()(Object(xe.a)({},tr.a.floatAbove,"string"==typeof r&&""!==r));return o.a.createElement("div",{className:tr.a.root},o.a.createElement("input",Object(g.a)({id:t,value:r,onChange:c},i)),o.a.createElement("label",{htmlFor:t,className:u},n))}rr.propTypes={value:h.a.oneOfType([h.a.string,h.a.number]),type:h.a.oneOf(["text","number"]),onChange:h.a.func,id:h.a.string,label:h.a.string};var or=n("Plid"),ar=n.n(or),ir=function(e){return{apiConfig:Object(ze.c)(e)}};var cr=function(){var e=Object(s.c)(ir).apiConfig,t=Object(r.useState)(e.hostname),n=Object(xt.a)(t,2),a=n[0],i=n[1],c=Object(r.useState)(e.port),u=Object(xt.a)(c,2),l=u[0],f=u[1],p=Object(r.useState)(e.secret),d=Object(xt.a)(p,2),h=d[0],v=d[1],m=Object(s.b)({updateClashAPIConfig:ze.g}),y=Object(r.useRef)(null);Object(r.useEffect)(function(){y.current.focus()},[]);var b=function(e){var t=e.target,n=t.name,r=t.value;switch(n){case"port":f(r);break;case"hostname":i(r);break;case"secret":v(r)}};function g(){m.updateClashAPIConfig({hostname:a,port:l,secret:h})}return o.a.createElement("div",{className:ar.a.root,ref:y,onKeyDown:function(e){13===e.keyCode&&g()}},o.a.createElement("div",{className:ar.a.header},o.a.createElement("div",{className:ar.a.icon},o.a.createElement(ke,{width:160,height:160}))),o.a.createElement("div",{className:ar.a.body},o.a.createElement("div",{className:ar.a.hostnamePort},o.a.createElement("div",null,o.a.createElement(rr,{id:"hostname",name:"hostname",label:"Hostname",type:"text",value:a,onChange:b})),o.a.createElement("div",null,o.a.createElement(rr,{id:"port",name:"port",label:"Port",type:"number",value:l,onChange:b}))),o.a.createElement("div",null,o.a.createElement(rr,{id:"secret",name:"secret",label:"Secret(optional)",value:h,type:"text",onChange:b}))),o.a.createElement("div",{className:ar.a.footer},o.a.createElement(Pn.a,{label:"Confirm",onClick:g})))},ur=n("i53Z"),sr=n("rRNg"),lr=n.n(sr),fr=function(e){return{modals:e.modals}},pr={closeModal:ur.a,fetchConfigs:on.b};function dr(){if(!window.fetch){var e=Fe[Ie].detail,t=new Error(e);throw t.code=Ie,t}var n=Object(s.c)(fr).modals,a=Object(s.b)(pr),i=a.closeModal,c=a.fetchConfigs;return Object(r.useEffect)(function(){c()},[c]),o.a.createElement(Qn,{isOpen:n.apiConfig,className:lr.a.content,overlayClassName:lr.a.overlay,shouldCloseOnOverlayClick:!1,shouldCloseOnEsc:!1,onRequestClose:function(){return i("apiConfig")}},o.a.createElement("div",{className:lr.a.container},o.a.createElement(cr,null)))}var hr=n("ANjH");function vr(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(o){return"function"==typeof o?o(n,r,e):t(o)}}}}var mr=vr();mr.withExtraArgument=vr;var yr=mr,br=n("EQlU"),gr=n("Tvb5"),Or=Object(hr.c)({app:ze.b,modals:ur.b,proxies:br.a,rules:gr.a,logs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:tn,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case Gt:case Kt:return function(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},G4qV:function(e,t,n){"use strict";function r(e,t){return e===t}n.d(t,"a",function(){return o});var o=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:r,n=null,o=null;return function(){return function(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o'}),p=(l.a.add(f),f),d=n("u4Dv");var h=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},v=n("XqMk"),m="object"==typeof self&&self&&self.Object===Object&&self,y=v.a||m||Function("return this")(),b=function(){return y.Date.now()},g=y.Symbol,O=Object.prototype,w=O.hasOwnProperty,E=O.toString,j=g?g.toStringTag:void 0;var x=function(e){var t=w.call(e,j),n=e[j];try{e[j]=void 0;var r=!0}catch(e){}var o=E.call(e);return r&&(t?e[j]=n:delete e[j]),o},C=Object.prototype.toString;var S=function(e){return C.call(e)},P="[object Null]",_="[object Undefined]",k=g?g.toStringTag:void 0;var T=function(e){return null==e?void 0===e?_:P:k&&k in Object(e)?x(e):S(e)};var N=function(e){return null!=e&&"object"==typeof e},M="[object Symbol]";var A=function(e){return"symbol"==typeof e||N(e)&&T(e)==M},R=NaN,D=/^\s+|\s+$/g,L=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,F=/^0o[0-7]+$/i,U=parseInt;var B=function(e){if("number"==typeof e)return e;if(A(e))return R;if(h(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");var n=I.test(e);return n||F.test(e)?U(e.slice(2),n?2:8):L.test(e)?R:+e},q="Expected a function",W=Math.max,z=Math.min;var H=function(e,t,n){var r,o,a,i,c,u,s=0,l=!1,f=!1,p=!0;if("function"!=typeof e)throw new TypeError(q);function d(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function v(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-s>=a}function m(){var e=b();if(v(e))return y(e);c=setTimeout(m,function(e){var n=t-(e-u);return f?z(n,a-(e-s)):n}(e))}function y(e){return c=void 0,p&&r?d(e):(r=o=void 0,i)}function g(){var e=b(),n=v(e);if(r=arguments,o=this,u=e,n){if(void 0===c)return function(e){return s=e,c=setTimeout(m,t),l?d(e):i}(u);if(f)return clearTimeout(c),c=setTimeout(m,t),d(u)}return void 0===c&&(c=setTimeout(m,t)),i}return t=B(t)||0,h(n)&&(l=!!n.leading,a=(f="maxWait"in n)?W(B(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==c&&clearTimeout(c),s=0,r=u=o=c=void 0},g.flush=function(){return void 0===c?i:y(b())},g},V=n("OA2e"),X=n.n(V);t.a=function(e){var t=e.mapStateToProps,n=e.actions;return Object(o.memo)(function(){var e=Object(d.b)(n).updateSearchText,c=Object(o.useMemo)(function(){return H(e,300)},[e]),u=Object(d.c)(t).searchText,s=Object(o.useState)(u),l=Object(r.a)(s,2),f=l[0],h=l[1];return a.a.createElement("div",{className:X.a.RuleSearch},a.a.createElement("div",{className:X.a.RuleSearchContainer},a.a.createElement("div",{className:X.a.inputWrapper},a.a.createElement("input",{type:"text",value:f,onChange:function(e){h(e.target.value),c(e.target.value)},className:X.a.input})),a.a.createElement("div",{className:X.a.iconWrapper},a.a.createElement(i.a,{id:p.id}))))})}},IaFt:function(e,t,n){(function(t){var n;n=function(){"use strict";function e(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!=typeof window?window:void 0!==t||"undefined"!=typeof self&&self;var n=e(function(e,t){e.exports=function(){function e(e){var t=e&&"object"==typeof e;return t&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(t,n){var o,a=n&&!0===n.clone;return a&&e(t)?r((o=t,Array.isArray(o)?[]:{}),t,n):t}function n(n,o,a){var i=n.slice();return o.forEach(function(o,c){void 0===i[c]?i[c]=t(o,a):e(o)?i[c]=r(n[c],o,a):-1===n.indexOf(o)&&i.push(t(o,a))}),i}function r(o,a,i){var c=Array.isArray(a),u=i||{arrayMerge:n},s=u.arrayMerge||n;return c?Array.isArray(o)?s(o,a,i):t(a,i):function(n,o,a){var i={};return e(n)&&Object.keys(n).forEach(function(e){i[e]=t(n[e],a)}),Object.keys(o).forEach(function(c){e(o[c])&&n[c]?i[c]=r(n[c],o[c],a):i[c]=t(o[c],a)}),i}(o,a,i)}return r.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce(function(e,n){return r(e,n,t)})},r}()}),r=e(function(e,t){t.default={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}},e.exports=t.default}),o=r.svg,a=r.xlink,i={};i[o.name]=o.uri,i[a.name]=a.uri;var c,u=function(e,t){return void 0===e&&(e=""),""+e+""},s=r.svg,l=r.xlink,f={attrs:(c={style:["position: absolute","width: 0","height: 0"].join("; ")},c[s.name]=s.uri,c[l.name]=l.uri,c)},p=function(e){this.config=n(f,e||{}),this.symbols=[]};p.prototype.add=function(e){var t=this.symbols,n=this.find(e.id);return n?(t[t.indexOf(n)]=e,!1):(t.push(e),!0)},p.prototype.remove=function(e){var t=this.symbols,n=this.find(e);return!!n&&(t.splice(t.indexOf(n),1),n.destroy(),!0)},p.prototype.find=function(e){return this.symbols.filter(function(t){return t.id===e})[0]||null},p.prototype.has=function(e){return null!==this.find(e)},p.prototype.stringify=function(){var e=this.config.attrs,t=this.symbols.map(function(e){return e.stringify()}).join("");return u(t,e)},p.prototype.toString=function(){return this.stringify()},p.prototype.destroy=function(){this.symbols.forEach(function(e){return e.destroy()})};var d=function(e){var t=e.id,n=e.viewBox,r=e.content;this.id=t,this.viewBox=n,this.content=r};d.prototype.stringify=function(){return this.content},d.prototype.toString=function(){return this.stringify()},d.prototype.destroy=function(){var e=this;["id","viewBox","content"].forEach(function(t){return delete e[t]})};var h=function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n},v=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"==typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return h(u(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(d),m={autoConfigure:!0,mountTo:"body",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:"locationChange",locationChangeAngularEmitter:!1,usagesToUpdate:"use[*|href]",moveGradientsOutsideSymbol:!1},y=function(e){return Array.prototype.slice.call(e,0)},b={isChrome:function(){return/chrome/i.test(navigator.userAgent)},isFirefox:function(){return/firefox/i.test(navigator.userAgent)},isIE:function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},isEdge:function(){return/edge/i.test(navigator.userAgent)}},g=function(e){var t=[];return y(e.querySelectorAll("style")).forEach(function(e){e.textContent+="",t.push(e)}),t},O=function(e){return(e||window.location.href).split("#")[0]},w=function(e){angular.module("ng").run(["$rootScope",function(t){t.$on("$locationChangeSuccess",function(t,n,r){var o,a,i;o=e,a={oldUrl:r,newUrl:n},(i=document.createEvent("CustomEvent")).initCustomEvent(o,!1,!1,a),window.dispatchEvent(i)})}])},E=function(e,t){return void 0===t&&(t="linearGradient, radialGradient, pattern"),y(e.querySelectorAll("symbol")).forEach(function(e){y(e.querySelectorAll(t)).forEach(function(t){e.parentNode.insertBefore(t,e)})}),e},j=r.xlink.uri,x="xlink:href",C=/[{}|\\\^\[\]`"<>]/g;function S(e){return e.replace(C,function(e){return"%"+e[0].charCodeAt(0).toString(16).toUpperCase()})}var P,_=["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke","style"],k=_.map(function(e){return"["+e+"]"}).join(","),T=function(e,t,n,r){var o=S(n),a=S(r);(function(e,t){return y(e).reduce(function(e,n){if(!n.attributes)return e;var r=y(n.attributes),o=t?r.filter(t):r;return e.concat(o)},[])})(e.querySelectorAll(k),function(e){var t=e.localName,n=e.value;return-1!==_.indexOf(t)&&-1!==n.indexOf("url("+o)}).forEach(function(e){return e.value=e.value.replace(new RegExp(o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),a)}),function(e,t,n){y(e).forEach(function(e){var r=e.getAttribute(x);if(r&&0===r.indexOf(t)){var o=r.replace(t,n);e.setAttributeNS(j,x,o)}})}(t,o,a)},N={MOUNT:"mount",SYMBOL_MOUNT:"symbol_mount"},M=function(e){function t(t){var r=this;void 0===t&&(t={}),e.call(this,n(m,t));var o,a=(o=o||Object.create(null),{on:function(e,t){(o[e]||(o[e]=[])).push(t)},off:function(e,t){o[e]&&o[e].splice(o[e].indexOf(t)>>>0,1)},emit:function(e,t){(o[e]||[]).map(function(e){e(t)}),(o["*"]||[]).map(function(n){n(e,t)})}});this._emitter=a,this.node=null;var i=this.config;if(i.autoConfigure&&this._autoConfigure(t),i.syncUrlsWithBaseTag){var c=document.getElementsByTagName("base")[0].getAttribute("href");a.on(N.MOUNT,function(){return r.updateUrls("#",c)})}var u=this._handleLocationChange.bind(this);this._handleLocationChange=u,i.listenLocationChangeEvent&&window.addEventListener(i.locationChangeEvent,u),i.locationChangeAngularEmitter&&w(i.locationChangeEvent),a.on(N.MOUNT,function(e){i.moveGradientsOutsideSymbol&&E(e)}),a.on(N.SYMBOL_MOUNT,function(e){i.moveGradientsOutsideSymbol&&E(e.parentNode),(b.isIE()||b.isEdge())&&g(e)})}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={isMounted:{}};return r.isMounted.get=function(){return!!this.node},t.prototype._autoConfigure=function(e){var t=this.config;void 0===e.syncUrlsWithBaseTag&&(t.syncUrlsWithBaseTag=void 0!==document.getElementsByTagName("base")[0]),void 0===e.locationChangeAngularEmitter&&(t.locationChangeAngularEmitter="angular"in window),void 0===e.moveGradientsOutsideSymbol&&(t.moveGradientsOutsideSymbol=b.isFirefox())},t.prototype._handleLocationChange=function(e){var t=e.detail,n=t.oldUrl,r=t.newUrl;this.updateUrls(n,r)},t.prototype.add=function(t){var n=e.prototype.add.call(this,t);return this.isMounted&&n&&(t.mount(this.node),this._emitter.emit(N.SYMBOL_MOUNT,t.node)),n},t.prototype.attach=function(e){var t=this,n=this;if(n.isMounted)return n.node;var r="string"==typeof e?document.querySelector(e):e;return n.node=r,this.symbols.forEach(function(e){e.mount(n.node),t._emitter.emit(N.SYMBOL_MOUNT,e.node)}),y(r.querySelectorAll("symbol")).forEach(function(e){var t=v.createFromExistingNode(e);t.node=e,n.add(t)}),this._emitter.emit(N.MOUNT,r),r},t.prototype.destroy=function(){var e=this.config,t=this.symbols,n=this._emitter;t.forEach(function(e){return e.destroy()}),n.off("*"),window.removeEventListener(e.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},t.prototype.mount=function(e,t){void 0===e&&(e=this.config.mountTo),void 0===t&&(t=!1);if(this.isMounted)return this.node;var n="string"==typeof e?document.querySelector(e):e,r=this.render();return this.node=r,t&&n.childNodes[0]?n.insertBefore(r,n.childNodes[0]):n.appendChild(r),this._emitter.emit(N.MOUNT,r),r},t.prototype.render=function(){return h(this.stringify())},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},t.prototype.updateUrls=function(e,t){if(!this.isMounted)return!1;var n=document.querySelectorAll(this.config.usagesToUpdate);return T(this.node,n,O(e)+"#",O(t)+"#"),!0},Object.defineProperties(t.prototype,r),t}(p),A=e(function(e){var t,n,r,o,a;e.exports=(n=[],r=document,o=r.documentElement.doScroll,(a=(o?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState))||r.addEventListener("DOMContentLoaded",t=function(){for(r.removeEventListener("DOMContentLoaded",t),a=1;t=n.shift();)t()}),function(e){a?setTimeout(e,0):n.push(e)})});!!window.__SVG_SPRITE__?P=window.__SVG_SPRITE__:(P=new M({attrs:{id:"__SVG_SPRITE_NODE__"}}),window.__SVG_SPRITE__=P);var R=function(){var e=document.getElementById("__SVG_SPRITE_NODE__");e?P.attach(e):P.mount(document.body,!0)};return document.body?R():A(R),P},e.exports=n()}).call(this,n("yLpj"))},"J3/6":function(e,t,n){e.exports={TrafficNow:"_37kQcxVR4T",down:"_1U3kUwas7v",up:"-Hr5Z5iYfF"}},JX7q:function(e,t,n){"use strict";function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,"a",function(){return r})},Jf6s:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("EJpJ"),o="/traffic",a=new TextDecoder("utf-8"),i={labels:Array(150),up:Array(150),down:Array(150),size:150,subscribers:[],appendData:function(e){this.up.push(e.up),this.down.push(e.down);var t=new Date,n=""+t.getMinutes()+t.getSeconds();this.labels.push(n),this.up.length>this.size&&this.up.shift(),this.down.length>this.size&&this.down.shift(),this.labels.length>this.size&&this.labels.shift(),this.subscribers.forEach(function(t){return t(e)})},subscribe:function(e){var t=this;return this.subscribers.push(e),function(){var n=t.subscribers.indexOf(e);t.subscribers.splice(n,1)}}},c=!1,u="";function s(e){i.appendData(JSON.parse(e))}function l(e){if(c)return i;c=!0;var t=Object(r.a)(e),n=t.url,l=t.init;return fetch(n+o,l).then(function(e){e.ok?function e(t){return t.read().then(function(n){for(var r=n.done,o=n.value,i=a.decode(o,{stream:!r}),l=(u+=i).split("\n"),f=l[l.length-1],p=0;p0&&0===(g-=1)&&f.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(s.returnFocus(),s.teardownScopedFocus()):s.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose()},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(s.setupScopedFocus(n.node),s.markForFocusLater()),n.setState({isOpen:!0},function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen()}))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())})},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){e.keyCode===y&&(0,l.default)(n.content,e),n.props.shouldCloseOnEsc&&e.keyCode===b&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r="object"===(void 0===t?"undefined":o(t))?t:{base:m[e],afterOpen:m[e]+"--after-open",beforeClose:m[e]+"--before-close"},a=r.base;return n.state.afterOpen&&(a=a+" "+r.afterOpen),n.state.beforeClose&&(a=a+" "+r.beforeClose),"string"==typeof t&&t?a+" "+t:a},n.attributesFromObject=function(e,t){return Object.keys(t).reduce(function(n,r){return n[e+"-"+r]=t[r],n},{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.Component),a(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&p.add(document.body,o),r&&p.add(document.getElementsByTagName("html")[0],r),n&&(g+=1,f.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.className,o=e.overlayClassName,a=e.defaultStyles,i=n?{}:a.content,u=o?{}:a.overlay;return this.shouldBeClosed()?null:c.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",o),style:r({},u,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},c.default.createElement("div",r({id:t,ref:this.setContentRef,style:r({},i,this.props.style.content),className:this.buildClassName("content",n),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),t}();O.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},O.propTypes={isOpen:u.default.bool.isRequired,defaultStyles:u.default.shape({content:u.default.object,overlay:u.default.object}),style:u.default.shape({content:u.default.object,overlay:u.default.object}),className:u.default.oneOfType([u.default.string,u.default.object]),overlayClassName:u.default.oneOfType([u.default.string,u.default.object]),bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,ariaHideApp:u.default.bool,appElement:u.default.instanceOf(d.default),onAfterOpen:u.default.func,onAfterClose:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,role:u.default.string,contentLabel:u.default.string,aria:u.default.object,data:u.default.object,children:u.default.node,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func,id:u.default.string,testId:u.default.string},t.default=O,e.exports=t.default},QLaP:function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,a,i,c){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,r,o,a,i,c],l=0;(u=new Error(t.replace(/%s/g,function(){return s[l++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}}},RLOP:function(e,t,n){e.exports={logMeta:"_2tpN_G7FeO",logType:"_3wuPHKqO5W",logTime:"IwiVCclCSC",logText:"_3I1beKAMFt",logsWrapper:"_2MDNI6JESq",log:"_3KX1sKJ1QD",logPlaceholder:"_19_8g6kTIV",logPlaceholderIcon:"_3ljFcrWmBC"}},S1to:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,a.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,i=n[0],c=n[n.length-1];if(e===document.activeElement){if(!o)return;r=c}c!==document.activeElement||o||(r=i);i===document.activeElement&&o&&(r=c);if(r)return t.preventDefault(),void r.focus();var u=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==u||"Chrome"==u[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var s=n.indexOf(document.activeElement);s>-1&&(s+=o?-1:1);if(void 0===n[s])return t.preventDefault(),void(r=o?c:i).focus();t.preventDefault(),n[s].focus()};var r,o=n("ZDLa"),a=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},S7Mu:function(e,t,n){e.exports={root:"_2OZZRrEL0J",section:"lF_ZoyIdZN",sep:"VduFBb2hWX",label:"_2NQoBOQcGA"}},SLVX:function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",function(){return r})},SXSQ:function(e,t,n){"use strict";var r=n("wx14"),o=n("Ff2n"),a=n("q1tI"),i=n.n(a),c=n("17x9"),u=n.n(c),s=n("TSYQ"),l=n.n(s),f=function(e){var t=e.id,n=e.width,a=void 0===n?20:n,c=e.height,u=void 0===c?20:c,s=e.className,f=Object(o.a)(e,["id","width","height","className"]),p=l()("icon",t,s),d="#"+t;return i.a.createElement("svg",Object(r.a)({className:p,width:a,height:u},f),i.a.createElement("use",{xlinkHref:d}))};f.propTypes={id:u.a.string.isRequired,width:u.a.number,height:u.a.number,className:u.a.string},t.a=i.a.memo(f)},SzcZ:function(e,t,n){e.exports={root:"_1r-KsYFNaj",floatAbove:"Hn6h5kxOg7"}},TOwV:function(e,t,n){"use strict";e.exports=n("qT12")},TSYQ:function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0})}),g="rules/CompletedFetchRules",O="rule/UpdateSearchText";function w(e){return{type:O,payload:{searchText:e.toLowerCase()}}}function E(){return function(){var e=Object(i.a)(a.a.mark(function e(t,n){var r,o,i,c;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=Object(f.c)(n()),e.next=3,s(r);case 3:return o=e.sent,e.next=6,o.json();case 6:i=e.sent,d()(i.rules&&i.rules.length>=0,"there is no valid rules list in the rules API response"),c=i.rules.map(function(e,t){return e.id=t,e}),t({type:g,payload:{allRules:c}});case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}function j(){return function(){var e=Object(i.a)(a.a.mark(function e(t,n){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==m(n()).length){e.next=5;break}return e.next=4,t(E());case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}var x={allRules:[],searchText:""};function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case O:case g:return function(e){for(var t=1;tr&&(c=!0,o.unstable_scheduleCallback(n))}function n(){c=!1;var e=r;if(null!==a)for(var t=a.previous;i>e&&null!==t;){var n=t.onDelete,o=t.previous;t.onDelete=null,t.previous=t.next=null,t===a?a=t=null:(a.previous=o,o.next=a,t=o),--i,n()}}var r=500,a=null,i=0,c=!1;return{add:function(e,t){return e={value:e,onDelete:t,next:null,previous:null},null===a?e.previous=e.next=e:((t=a.previous).next=e,e.previous=t,a.previous=e,e.next=a),a=e,i+=1,e},update:function(e,t){e.value=t},access:function(e){var n=e.next;if(null!==n){var r=a;if(a!==e){var o=e.previous;o.next=n,n.previous=o,(n=r.previous).next=e,e.previous=n,r.previous=e,e.next=r,a=e}}return t(),e.value},setLimit:function(e){r=e,t()}}}(),s=new Map,l=r.createContext(null);function f(e,t,n,r){var o=s.get(e);void 0===o&&(o=new Map,s.set(e,o));var a=o.get(r);if(void 0===a){(t=t(n)).then(function(e){if(0===i.status){var t=i;t.status=1,t.value=e}},function(e){if(0===i.status){var t=i;t.status=2,t.value=e}});var i={status:0,value:t};return e=u.add(i,function(e,t){var n=s.get(e);void 0!==n&&(n.delete(t),0===n.size&&s.delete(e))}.bind(null,e,r)),o.set(r,e),i}return u.access(a)}t.unstable_createResource=function(e,t){var n=void 0!==t?t:c,r={read:function(t){i(l);var o=n(t);switch((t=f(r,e,t,o)).status){case 0:throw t.value;case 1:return t.value;case 2:throw t.value}},preload:function(t){i(l);var o=n(t);f(r,e,t,o)}};return r},t.unstable_setGlobalCacheLimit=function(e){u.setLimit(e)}},VCL8:function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function a(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function i(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,i=null,c=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?i="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(i="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?c="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(c="UNSAFE_componentWillUpdate"),null!==n||null!==i||null!==c){var u=e.displayName||e.name,s="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+s+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==i?"\n "+i:"")+(null!==c?"\n "+c:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=a;var l=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;l.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return i}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},VKEO:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBlur=s,t.handleFocus=l,t.markForFocusLater=function(){i.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==i.length&&(e=i.pop()).focus())}catch(t){console.warn(["You tried to return focus to",e,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){i.length>0&&i.pop()},t.setupScopedFocus=function(e){c=e,window.addEventListener?(window.addEventListener("blur",s,!1),document.addEventListener("focus",l,!0)):(window.attachEvent("onBlur",s),document.attachEvent("onFocus",l))},t.teardownScopedFocus=function(){c=null,window.addEventListener?(window.removeEventListener("blur",s),document.removeEventListener("focus",l)):(window.detachEvent("onBlur",s),document.detachEvent("onFocus",l))};var r,o=n("ZDLa"),a=(r=o)&&r.__esModule?r:{default:r};var i=[],c=null,u=!1;function s(){u=!0}function l(){if(u){if(u=!1,!c)return;setTimeout(function(){c.contains(document.activeElement)||((0,a.default)(c)[0]||c).focus()},0)}}},VbXa:function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},WbBG:function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},"Wii/":function(e,t,n){e.exports={input:"_2S85tjFa1n"}},XN28:function(e,t,n){e.exports={root:"SNYKRrv_2I",h1:"VG1cD2OYvg"}},XqMk:function(e,t,n){"use strict";(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.a=n}).call(this,n("yLpj"))},YKzy:function(e,t,n){e.exports={ToggleSwitch:"_3evbv-Ui87",slider:"_1ok8KIb1RH"}},Ye7m:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=u,t.setElement=function(e){var t=e;if("string"==typeof t&&i.canUseDOM){var n=document.querySelectorAll(t);u(n,t),t="length"in n?n[0]:n}return c=t||c},t.validateElement=s,t.hide=function(e){s(e)&&(e||c).setAttribute("aria-hidden","true")},t.show=function(e){s(e)&&(e||c).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){c=null},t.resetForTesting=function(){c=null};var r,o=n("2W6z"),a=(r=o)&&r.__esModule?r:{default:r},i=n("2zs7");var c=null;function u(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function s(e){return!(!e&&!c)||((0,a.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},Z9Yo:function(e,t,n){e.exports={overlay:"ctrHyq7uir",content:"_17mHpKiOUD"}},ZDLa:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(i)}; +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ +var r=/input|select|textarea|button|object/;function o(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow"):"none"==n.getPropertyValue("display")}function a(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||"a"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(o(t))return!1;t=t.parentNode}return!0}(e)}function i(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&a(e,!n)}e.exports=t.default},bCCX:function(e,t,n){"use strict";(function(e,r){var o,a=n("SLVX");o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:r;var i=Object(a.a)(o);t.a=i}).call(this,n("yLpj"),n("3UD+")(e))},blRg:function(e,t,n){e.exports={switch:"nJQwngxVo8"}},dI71:function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",function(){return r})},ewTs:function(e,t,n){},fZtv:function(e,t,n){"use strict";(function(t){var n="__global_unique_id__";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(this,n("yLpj"))},fbhf:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dumpClassLists=function(){0};var r={},o={};t.add=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach(function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(a,e),n.add(e)});var n,a},t.remove=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach(function(e){!function(e,t){e[t]&&(e[t]-=1)}(a,e),0===a[e]&&n.remove(e)});var n,a}},gjz0:function(e,t,n){e.exports={root:"_2rN7aLQPCl"}},"hN5/":function(e,t,n){},i53Z:function(e,t,n){"use strict";n.d(t,"c",function(){return u}),n.d(t,"a",function(){return s}),n.d(t,"b",function(){return f});var r=n("rePB");function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1?arguments[1]:void 0,n=t.type,o=t.payload;switch(n){case i:return a({},l,Object(r.a)({},o,!0));case c:return a({},l,Object(r.a)({},o,!1));default:return e}}},iR1w:function(e,t,n){"use strict";var r=n("wx14"),o=n("dI71"),a=n("JX7q");function i(e,t){if(e.length!==t.length)return!1;for(var n=0;n=t?e.call(null):r.id=requestAnimationFrame(o)})};return r}var d=null;function h(e){if(void 0===e&&(e=!1),null===d||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?d="positive-descending":(t.scrollLeft=1,d=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),d}return d}var v=150,m=function(e,t){return e};function y(e){var t,n,i=e.getItemOffset,s=e.getEstimatedTotalSize,l=e.getItemSize,d=e.getOffsetForIndexAndAlignment,y=e.getStartIndexForOffset,g=e.getStopIndexForStartIndex,O=e.initInstanceProps,w=e.shouldResetStyleCacheOnItemSizeChange,E=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=O(n.props,Object(a.a)(Object(a.a)(n))),n._outerRef=void 0,n._resetIsScrollingTimeoutId=null,n.state={instance:Object(a.a)(Object(a.a)(n)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof n.props.initialScrollOffset?n.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},n._callOnItemsRendered=void 0,n._callOnItemsRendered=c(function(e,t,r,o){return n.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:o})}),n._callOnScroll=void 0,n._callOnScroll=c(function(e,t,r){return n.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})}),n._getItemStyle=void 0,n._getItemStyle=function(e){var t,r=n.props,o=r.direction,a=r.itemSize,c=r.layout,u=n._getItemStyleCache(w&&a,w&&c,w&&o);if(u.hasOwnProperty(e))t=u[e];else{var s,f=i(n.props,e,n._instanceProps),p=l(n.props,e,n._instanceProps),d="horizontal"===o||"horizontal"===c;u[e]=((s={position:"absolute"})["rtl"===o?"right":"left"]=d?f:0,s.top=d?0:f,s.height=d?"100%":p,s.width=d?p:"100%",t=s)}return t},n._getItemStyleCache=void 0,n._getItemStyleCache=c(function(e,t,n){return{}}),n._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,o=t.scrollLeft,a=t.scrollWidth;n.setState(function(e){if(e.scrollOffset===o)return null;var t=n.props.direction,i=o;if("rtl"===t)switch(h()){case"negative":i=-o;break;case"positive-descending":i=a-r-o}return i=Math.max(0,Math.min(i,a-r)),{isScrolling:!0,scrollDirection:e.scrollOffset0)for(var k=S;k<=P;k++)_.push(Object(u.createElement)(t,{data:p,key:h(k,p),index:k,isScrolling:O?E:void 0,style:this._getItemStyle(k)}));var T=s(this.props,this._instanceProps);return Object(u.createElement)(y||b||"div",{className:n,onScroll:x,ref:this._outerRefSetter,style:Object(r.a)({position:"relative",height:a,width:w,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},g)},Object(u.createElement)(c||l||"div",{children:_,ref:i,style:{height:j?"100%":T,pointerEvents:E?"none":void 0,width:j?T:"100%"}}))},n._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,c=a.scrollOffset,u=a.scrollUpdateWasRequested;this._callOnScroll(i,c,u)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,a=r.scrollDirection,i=r.scrollOffset;if(0===t)return[0,0,0,0];var c=y(this.props,i,this._instanceProps),u=g(this.props,c,i,this._instanceProps),s=o&&"backward"!==a?1:Math.max(1,n),l=o&&"forward"!==a?1:Math.max(1,n);return[Math.max(0,c-s),Math.max(0,Math.min(t-1,u+l)),c,u]},t}(u.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},n}var b=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},g=y({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r){var o=e.direction,a=e.height,i=e.itemCount,c=e.itemSize,u=e.layout,s=e.width,l="horizontal"===o||"horizontal"===u?s:a,f=Math.max(0,i*c-l),p=Math.min(f,t*c),d=Math.max(0,t*c-l+c);switch("smart"===n&&(n=r>=d-l&&r<=p+l?"auto":"center"),n){case"start":return p;case"end":return d;case"center":var h=Math.round(d+(p-d)/2);return hf+Math.floor(l/2)?f:h;case"auto":default:return r>=d&&r<=p?r:r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;S(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},mSXw:function(e,t,n){"use strict";e.exports=n("9iN/")},o0o1:function(e,t,n){e.exports=n("ls82")},oFgh:function(e,t,n){"use strict";var r=n("rePB"),o=n("o0o1"),a=n.n(o),i=n("HaE+"),c=n("EJpJ");function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case j:case E:case w:return O({},e,{},r);default:return e}}},p19a:function(e,t,n){"use strict";var r=n("rePB"),o=n("ODXe"),a=n("o0o1"),i=n.n(a),c=n("HaE+"),u="yacd.haishan.me";function s(e){try{var t=JSON.stringify(e);localStorage.setItem(u,t)}catch(e){}}var l=n("oFgh"),f=n("i53Z");function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function d(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"dark")?(w.classList.remove("light"),w.classList.add("dark")):(w.classList.remove("dark"),w.classList.add("light"))}function j(){return function(e,t){var n="light"===b(t())?"dark":"light";E(n),e({type:v,payload:{theme:n}}),s(t().app)}}function x(){!function(){try{localStorage.removeItem(u)}catch(e){}}();try{location.reload()}catch(e){}}function C(e){return function(t,n){t({type:m,payload:{selectedChartStyleIndex:e}}),s(n().app)}}var S={clashAPIConfig:{hostname:"127.0.0.1",port:"7892",secret:""},selectedChartStyleIndex:0,theme:"dark"};function P(){var e=function(){try{var e=localStorage.getItem(u);if(!e)return;return JSON.parse(e)}catch(e){return}}();e=d({},S,{},e);var t=function(){var e=location.search,t={};if("string"!=typeof e||""===e)return t;for(var n=e.replace(/^\?/,"").split("&"),r=0;r0&&void 0!==arguments[0]?arguments[0]:P(),t=arguments.length>1?arguments[1]:void 0,n=t.type,r=t.payload;switch(n){case h:return d({},e,{clashAPIConfig:d({},r)});case v:case m:return d({},e,{},r);default:return e}}},qFS3:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}n.d(t,"a",function(){return r})}},[[0,5,1,3]],[2,4,6]]); \ No newline at end of file diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/web/index.html b/package/jsda/luci-app-clash/root/usr/share/clash/web/index.html index 2b2d59c891..4c629c77d7 100644 --- a/package/jsda/luci-app-clash/root/usr/share/clash/web/index.html +++ b/package/jsda/luci-app-clash/root/usr/share/clash/web/index.html @@ -7,16 +7,21 @@ - - - - YAC - DASHBOARD + + + + yacd - Yet Another Clash Dashboard - + + + + + + - + @@ -29,7 +34,7 @@ - + diff --git a/package/jsda/luci-app-clash/root/usr/share/clash/web/report.html b/package/jsda/luci-app-clash/root/usr/share/clash/web/report.html new file mode 100644 index 0000000000..c497b6986b --- /dev/null +++ b/package/jsda/luci-app-clash/root/usr/share/clash/web/report.html @@ -0,0 +1,64 @@ + + + + + + Webpack Bundle Analyzer + + + + + + + + + +
+ + +