diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/config/ConfigConstants.java b/pigx-register/src/main/java/com/alibaba/nacos/console/config/ConfigConstants.java
index e13d41105..0b39fb331 100644
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/config/ConfigConstants.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/config/ConfigConstants.java
@@ -19,7 +19,7 @@ package com.alibaba.nacos.console.config;
/**
* @author lengleng
- * @date 2019-04-19
+ * @date 2019-10-31
*
* 覆盖nacos 默认配置
*/
@@ -38,5 +38,4 @@ public interface ConfigConstants {
* tomcat 日志配置
*/
String TOMCAT_ACCESS_LOG = "server.tomcat.accesslog.enabled";
-
-}
\ No newline at end of file
+}
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/config/WebSecurityConfig.java b/pigx-register/src/main/java/com/alibaba/nacos/console/config/WebSecurityConfig.java
index 503734c17..1ef0eaff2 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/config/WebSecurityConfig.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/config/WebSecurityConfig.java
@@ -75,9 +75,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) {
- String ignoreUrls = env.getProperty("nacos.security.ignore.urls", "/**");
- for (String url : ignoreUrls.trim().split(SECURITY_IGNORE_URLS_SPILT_CHAR)) {
- web.ignoring().antMatchers(url.trim());
+ String ignoreURLs = env.getProperty("nacos.security.ignore.urls", "/**");
+ for (String ignoreURL : ignoreURLs.trim().split(SECURITY_IGNORE_URLS_SPILT_CHAR)) {
+ web.ignoring().antMatchers(ignoreURL.trim());
}
}
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/AuthController.java b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/AuthController.java
index b5f4e22b6..03f4d2328 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/AuthController.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/AuthController.java
@@ -15,11 +15,10 @@
*/
package com.alibaba.nacos.console.controller;
-import com.alibaba.nacos.console.config.WebSecurityConfig;
import com.alibaba.nacos.config.server.model.RestResult;
+import com.alibaba.nacos.console.config.WebSecurityConfig;
import com.alibaba.nacos.console.security.CustomUserDetailsServiceImpl;
import com.alibaba.nacos.console.utils.JwtTokenUtils;
-
import com.alibaba.nacos.console.utils.PasswordEncoderUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
@@ -30,7 +29,6 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
@@ -56,11 +54,8 @@ public class AuthController {
* Nacos is in broken states.
*/
- @ResponseBody
- @RequestMapping(value = "login", method = RequestMethod.POST)
- public RestResult login(HttpServletRequest request, HttpServletResponse response) throws Exception {
- String username = request.getParameter("username");
- String password = request.getParameter("password");
+ @PostMapping("login")
+ public RestResult login(@RequestParam String username, @RequestParam String password, HttpServletResponse response) {
// 通过用户名和密码创建一个 Authentication 认证对象,实现类为 UsernamePasswordAuthenticationToken
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
@@ -85,11 +80,9 @@ public class AuthController {
}
}
- @ResponseBody
- @RequestMapping(value = "password", method = RequestMethod.PUT)
- public RestResult updatePassword(HttpServletRequest request, HttpServletResponse response,
- @RequestParam(value = "oldPassword", required = true) String oldPassword,
- @RequestParam(value = "newPassword", required = true) String newPassword) throws Exception {
+ @PutMapping("password")
+ public RestResult updatePassword(@RequestParam(value = "oldPassword") String oldPassword,
+ @RequestParam(value = "newPassword") String newPassword) {
RestResult rr = new RestResult();
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java
index 028bbcaad..f3595bdcb 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java
@@ -21,9 +21,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@@ -52,8 +51,7 @@ public class HealthController {
* @return HTTP code equal to 200 indicates that Nacos is in right states. HTTP code equal to 500 indicates that
* Nacos is in broken states.
*/
- @ResponseBody
- @RequestMapping(value = "liveness", method = RequestMethod.GET)
+ @GetMapping("liveness")
public ResponseEntity liveness() {
return ResponseEntity.ok().body("OK");
}
@@ -64,8 +62,7 @@ public class HealthController {
* @return HTTP code equal to 200 indicates that Nacos is ready. HTTP code equal to 500 indicates that Nacos is not
* ready.
*/
- @ResponseBody
- @RequestMapping(value = "readiness", method = RequestMethod.GET)
+ @GetMapping("readiness")
public ResponseEntity readiness(HttpServletRequest request) {
boolean isConfigReadiness = isConfigReadiness();
boolean isNamingReadiness = isNamingReadiness(request);
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java
index f74b38d2a..12720d87e 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java
@@ -15,19 +15,14 @@
*/
package com.alibaba.nacos.console.controller;
-import com.alibaba.nacos.config.server.exception.NacosException;
import com.alibaba.nacos.config.server.model.RestResult;
import com.alibaba.nacos.config.server.model.TenantInfo;
import com.alibaba.nacos.config.server.service.PersistService;
-import com.alibaba.nacos.config.server.utils.StringUtils;
import com.alibaba.nacos.console.model.Namespace;
import com.alibaba.nacos.console.model.NamespaceAllInfo;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -40,12 +35,12 @@ import java.util.UUID;
*
* @author Nacos
*/
-@Controller
+@RestController
@RequestMapping("/v1/console/namespaces")
public class NamespaceController {
@Autowired
- private transient PersistService persistService;
+ private PersistService persistService;
/**
* Get namespace list
@@ -54,8 +49,7 @@ public class NamespaceController {
* @param response response
* @return namespace list
*/
- @ResponseBody
- @RequestMapping(method = RequestMethod.GET)
+ @GetMapping
public RestResult> getNamespaces(HttpServletRequest request, HttpServletResponse response) {
RestResult> rr = new RestResult>();
rr.setCode(200);
@@ -82,21 +76,18 @@ public class NamespaceController {
* @param namespaceId namespaceId
* @return namespace all info
*/
- @ResponseBody
- @RequestMapping(params = "show=all", method = RequestMethod.GET)
+ @GetMapping(params = "show=all")
public NamespaceAllInfo getNamespace(HttpServletRequest request, HttpServletResponse response,
@RequestParam("namespaceId") String namespaceId) {
// TODO 获取用kp
if (StringUtils.isBlank(namespaceId)) {
- NamespaceAllInfo namespaceTmp = new NamespaceAllInfo(namespaceId, "Public", 200, persistService.configInfoCount(""), 0,
- "Public Namespace");
- return namespaceTmp;
+ return new NamespaceAllInfo(namespaceId, "Public", 200,
+ persistService.configInfoCount(""), 0, "Public Namespace");
} else {
TenantInfo tenantInfo = persistService.findTenantByKp("1", namespaceId);
int configCount = persistService.configInfoCount(namespaceId);
- NamespaceAllInfo namespaceTmp = new NamespaceAllInfo(namespaceId, tenantInfo.getTenantName(), 200,
+ return new NamespaceAllInfo(namespaceId, tenantInfo.getTenantName(), 200,
configCount, 2, tenantInfo.getTenantDesc());
- return namespaceTmp;
}
}
@@ -108,14 +99,11 @@ public class NamespaceController {
* @param namespaceName namespace Name
* @param namespaceDesc namespace Desc
* @return whether create ok
- * @throws NacosException
*/
- @RequestMapping(method = RequestMethod.POST)
- @ResponseBody
+ @PostMapping
public Boolean createNamespace(HttpServletRequest request, HttpServletResponse response,
@RequestParam("namespaceName") String namespaceName,
- @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc)
- throws NacosException {
+ @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc) {
// TODO 获取用kp
String namespaceId = UUID.randomUUID().toString();
persistService.insertTenantInfoAtomic("1", namespaceId, namespaceName, namespaceDesc, "nacos",
@@ -126,21 +114,15 @@ public class NamespaceController {
/**
* edit namespace
*
- * @param request request
- * @param response response
* @param namespace namespace
* @param namespaceShowName namespace ShowName
* @param namespaceDesc namespace Desc
* @return whether edit ok
- * @throws NacosException NacosException
*/
- @RequestMapping(method = RequestMethod.PUT)
- @ResponseBody
- public Boolean editNamespace(HttpServletRequest request, HttpServletResponse response,
- @RequestParam("namespace") String namespace,
+ @PutMapping
+ public Boolean editNamespace(@RequestParam("namespace") String namespace,
@RequestParam("namespaceShowName") String namespaceShowName,
- @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc)
- throws NacosException {
+ @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc) {
// TODO 获取用kp
persistService.updateTenantNameAtomic("1", namespace, namespaceShowName, namespaceDesc);
return true;
@@ -153,12 +135,10 @@ public class NamespaceController {
* @param response response
* @param namespaceId namespace Id
* @return whether del ok
- * @throws NacosException NacosException
*/
- @RequestMapping(method = RequestMethod.DELETE)
- @ResponseBody
+ @DeleteMapping
public Boolean deleteConfig(HttpServletRequest request, HttpServletResponse response,
- @RequestParam("namespaceId") String namespaceId) throws NacosException {
+ @RequestParam("namespaceId") String namespaceId) {
persistService.removeTenantInfoAtomic("1", namespaceId);
return true;
}
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java
index f1fb43ead..3fd7c8029 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java
@@ -18,13 +18,11 @@ package com.alibaba.nacos.console.controller;
import com.alibaba.nacos.common.util.VersionUtils;
import com.alibaba.nacos.core.utils.SystemUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
+
import java.util.HashMap;
import java.util.Map;
@@ -36,16 +34,9 @@ import java.util.Map;
@RequestMapping("/v1/console/server")
public class ServerStateController {
- private static final Logger logger = LoggerFactory.getLogger(ServerStateController.class);
-
-
- public static String VERSION ;
-
-
- @ResponseBody
- @RequestMapping(value = "state", method = RequestMethod.GET)
+ @GetMapping("state")
public ResponseEntity serverState() {
- Map serverState = new HashMap(3);
+ Map serverState = new HashMap<>(3);
serverState.put("standalone_mode",SystemUtils.STANDALONE_MODE ?
SystemUtils.STANDALONE_MODE_ALONE : SystemUtils.STANDALONE_MODE_CLUSTER);
@@ -55,6 +46,4 @@ public class ServerStateController {
return ResponseEntity.ok().body(serverState);
}
-
-
}
diff --git a/pigx-register/src/main/java/com/alibaba/nacos/console/filter/JwtAuthenticationTokenFilter.java b/pigx-register/src/main/java/com/alibaba/nacos/console/filter/JwtAuthenticationTokenFilter.java
index 6d7e85459..b760d6d89 100755
--- a/pigx-register/src/main/java/com/alibaba/nacos/console/filter/JwtAuthenticationTokenFilter.java
+++ b/pigx-register/src/main/java/com/alibaba/nacos/console/filter/JwtAuthenticationTokenFilter.java
@@ -69,7 +69,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
private String resolveToken(HttpServletRequest request) {
String bearerToken = request.getHeader(WebSecurityConfig.AUTHORIZATION_HEADER);
if (StringUtils.hasText(bearerToken) && bearerToken.startsWith(TOKEN_PREFIX)) {
- return bearerToken.substring(7);
+ return bearerToken.substring(7, bearerToken.length());
}
String jwt = request.getParameter(WebSecurityConfig.AUTHORIZATION_TOKEN);
if (StringUtils.hasText(jwt)) {
diff --git a/pigx-register/src/main/resources/static/console-fe/src/locales/en-US.js b/pigx-register/src/main/resources/static/console-fe/src/locales/en-US.js
index 111db3f97..662113da5 100755
--- a/pigx-register/src/main/resources/static/console-fe/src/locales/en-US.js
+++ b/pigx-register/src/main/resources/static/console-fe/src/locales/en-US.js
@@ -97,9 +97,11 @@ const I18N_CONF = {
pubNoData: 'No results found.',
columnServiceName: 'Service Name',
groupName: 'Group Name',
+ groupNamePlaceholder: 'Enter Group Name',
columnClusterCount: 'Cluster Count',
columnIpCount: 'Instance Count',
columnHealthyInstanceCount: 'Healthy Instance Count',
+ columnTriggerFlag: 'Trigger Protection Threshold',
operation: 'Operation',
detail: 'Details',
sampleCode: 'Code Example',
diff --git a/pigx-register/src/main/resources/static/console-fe/src/locales/zh-CN.js b/pigx-register/src/main/resources/static/console-fe/src/locales/zh-CN.js
index e46795482..27a061b90 100755
--- a/pigx-register/src/main/resources/static/console-fe/src/locales/zh-CN.js
+++ b/pigx-register/src/main/resources/static/console-fe/src/locales/zh-CN.js
@@ -96,10 +96,12 @@ const I18N_CONF = {
query: '查询',
pubNoData: '没有数据',
columnServiceName: '服务名',
- groupName: '分组',
+ groupName: '分组名称',
+ groupNamePlaceholder: '请输入分组名称',
columnClusterCount: '集群数目',
columnIpCount: '实例数',
columnHealthyInstanceCount: '健康实例数',
+ columnTriggerFlag: '触发保护阈值',
operation: '操作',
detail: '详情',
sampleCode: '示例代码',
diff --git a/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js b/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js
index 785675e4e..6e17c78ff 100755
--- a/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js
+++ b/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js
@@ -100,6 +100,10 @@ class ConfigurationManagement extends React.Component {
contentList: [],
isAdvancedQuery: false,
isCheckAll: false,
+ rowSelection: {
+ onChange: this.configDataTableOnChange.bind(this),
+ selectedRowKeys: [],
+ },
};
const obj = {
dataId: this.dataId || '',
@@ -250,6 +254,10 @@ class ConfigurationManagement extends React.Component {
});
}
this.getData();
+ configsTableSelected.clear();
+ const { rowSelection } = this.state;
+ rowSelection.selectedRowKeys = [];
+ this.setState({ rowSelection });
}
getData(pageNo = 1, clearSelect = true) {
@@ -1070,22 +1078,14 @@ class ConfigurationManagement extends React.Component {
});
}
- configsTableOnSelect(selected, record, records) {
- if (selected) {
- configsTableSelected.set(record.id, record);
- } else {
- configsTableSelected.delete(record.id);
- }
- }
-
- configsTableOnSelectAll(selected, records) {
- if (selected) {
- records.forEach((record, i) => {
- configsTableSelected.set(record.id, record);
- });
- } else {
- configsTableSelected.clear();
- }
+ configDataTableOnChange(ids, records) {
+ const { rowSelection } = this.state;
+ rowSelection.selectedRowKeys = ids;
+ this.setState({ rowSelection });
+ configsTableSelected.clear();
+ ids.forEach((id, i) => {
+ configsTableSelected.set(id, id);
+ });
}
render() {
@@ -1285,10 +1285,7 @@ class ConfigurationManagement extends React.Component {
fixedHeader
maxBodyHeight={400}
ref={'dataTable'}
- rowSelection={{
- onSelect: this.configsTableOnSelect,
- onSelectAll: this.configsTableOnSelectAll,
- }}
+ rowSelection={this.state.rowSelection}
>
diff --git a/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/NewConfig/NewConfig.js b/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/NewConfig/NewConfig.js
index 12836ad87..1a1cf0f5b 100755
--- a/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/NewConfig/NewConfig.js
+++ b/pigx-register/src/main/resources/static/console-fe/src/pages/ConfigurationManagement/NewConfig/NewConfig.js
@@ -414,7 +414,7 @@ class NewConfig extends React.Component {
label: 'YAML',
},
{
- value: 'text/html',
+ value: 'html',
label: 'HTML',
},
{
diff --git a/pigx-register/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js b/pigx-register/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js
index bd38442e0..73a943446 100755
--- a/pigx-register/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js
+++ b/pigx-register/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js
@@ -56,8 +56,11 @@ class ServiceList extends React.Component {
total: 0,
pageSize: 10,
currentPage: 1,
- keyword: '',
dataSource: [],
+ search: {
+ serviceName: '',
+ groupName: '',
+ },
hasIpCount: !(localStorage.getItem('hasIpCount') === 'false'),
};
this.field = new Field(this);
@@ -78,13 +81,14 @@ class ServiceList extends React.Component {
}
queryServiceList() {
- const { currentPage, pageSize, keyword, withInstances = false, hasIpCount } = this.state;
+ const { currentPage, pageSize, search, withInstances = false, hasIpCount } = this.state;
const parameter = [
`hasIpCount=${hasIpCount}`,
`withInstances=${withInstances}`,
`pageNo=${currentPage}`,
`pageSize=${pageSize}`,
- `keyword=${keyword}`,
+ `serviceNameParam=${search.serviceName}`,
+ `groupNameParam=${search.groupName}`,
];
request({
url: `v1/ns/catalog/services?${parameter.join('&')}`,
@@ -164,6 +168,8 @@ class ServiceList extends React.Component {
serviceList,
serviceName,
serviceNamePlaceholder,
+ groupName,
+ groupNamePlaceholder,
hiddenEmptyService,
query,
create,
@@ -172,7 +178,7 @@ class ServiceList extends React.Component {
sampleCode,
deleteAction,
} = locale;
- const { keyword, nowNamespaceName, nowNamespaceId, hasIpCount } = this.state;
+ const { search, nowNamespaceName, nowNamespaceId, hasIpCount } = this.state;
const { init, getValue } = this.field;
this.init = init;
this.getValue = getValue;
@@ -214,8 +220,19 @@ class ServiceList extends React.Component {
this.setState({ keyword })}
+ value={search.serviceName}
+ onChange={serviceName => this.setState({ search: { ...search, serviceName } })}
+ onPressEnter={() =>
+ this.setState({ currentPage: 1 }, () => this.queryServiceList())
+ }
+ />
+
+
+ this.setState({ search: { ...search, groupName } })}
onPressEnter={() =>
this.setState({ currentPage: 1 }, () => this.queryServiceList())
}
@@ -264,6 +281,7 @@ class ServiceList extends React.Component {
title={locale.columnHealthyInstanceCount}
dataIndex="healthyInstanceCount"
/>
+
{
},
error => {
if (error.response) {
- const { status } = error.response;
- Message.error(`HTTP ERROR: ${status}`);
+ const { data, status } = error.response;
+ Message.error(data && typeof data === 'string' ? data : `HTTP ERROR: ${status}`);
} else {
Message.error(API_GENERAL_ERROR_MESSAGE);
}
diff --git a/pigx-register/src/main/resources/static/js/main.js b/pigx-register/src/main/resources/static/js/main.js
index 1ad36f8e8..0d24bec1f 100755
--- a/pigx-register/src/main/resources/static/js/main.js
+++ b/pigx-register/src/main/resources/static/js/main.js
@@ -9,7 +9,7 @@
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
-!function(){"use strict";var i={}.hasOwnProperty;function s(){for(var e=[],t=0;t","Select");var n=u(e,t);return e.onInputUpdate&&(n.onSearch=e.onInputUpdate,n.showSearch=!0),n}}),t.default=a.default.config(o.default,{transform:u,exportNames:["focusInput","handleSearchClear"]}),e.exports=t.default},function(e,t,n){"use strict";n(388)},function(e,t,n){"use strict";n(33),n(501)},function(e,t,n){"use strict";t.__esModule=!0,t.default={momentLocale:"zh-cn",Timeline:{expand:"展开",fold:"收起"},Balloon:{close:"关闭"},Card:{expand:"展开",fold:"收起"},Calendar:{today:"今天",now:"此刻",ok:"确定",clear:"清除",month:"月",year:"年",prevYear:"上一年",nextYear:"下一年",prevMonth:"上个月",nextMonth:"下个月",prevDecade:"上十年",nextDecade:"后十年",yearSelectAriaLabel:"选择年份",monthSelectAriaLabel:"选择月份"},DatePicker:{placeholder:"请选择日期",datetimePlaceholder:"请选择日期和时间",monthPlaceholder:"请选择月",yearPlaceholder:"请选择年",now:"此刻",selectTime:"选择时间",selectDate:"选择日期",ok:"确定",clear:"清除",startPlaceholder:"起始日期",endPlaceholder:"结束日期",hour:"时",minute:"分",second:"秒"},Dialog:{close:"关闭",ok:"确认",cancel:"取消"},Message:{closeAriaLabel:"关闭"},Pagination:{prev:"上一页",next:"下一页",goTo:"到第",page:"页",go:"确定",total:"第{current}页,共{total}页",labelPrev:"上一页,当前第{current}页",labelNext:"下一页,当前第{current}页",inputAriaLabel:"请输入跳转到第几页",selectAriaLabel:"请选择每页显示几条",pageSize:"每页显示:"},Input:{clear:"清除"},Select:{selectPlaceholder:"请选择",autoCompletePlaceholder:"请输入",notFoundContent:"无选项",maxTagPlaceholder:"已选择 {selected}/{total} 项"},Table:{empty:"没有数据",ok:"确认",reset:"重置",asc:"升序",desc:"降序",expanded:"已展开",folded:"已折叠",filter:"筛选",selectAll:"全选"},TimePicker:{placeholder:"请选择时间",clear:"清除",hour:"时",minute:"分",second:"秒"},Transfer:{items:"项",item:"项",moveAll:"移动全部",searchPlaceholder:"请输入",moveToLeft:"撤销选中元素",moveToRight:"提交选中元素"},Upload:{card:{cancel:"取消",addPhoto:"上传图片",download:"下载",delete:"删除"},drag:{text:"点击或者拖动文件到虚线框内上传",hint:"支持 docx, xls, PDF, rar, zip, PNG, JPG 等类型的文件"},upload:{delete:"删除"}},Search:{buttonText:"搜索"},Tag:{delete:"删除"},Rating:{description:"评分选项"}},e.exports=t.default},function(e,t,n){"use strict";n.d(t,"c",function(){return a}),n.d(t,"d",function(){return o}),n.d(t,"e",function(){return r}),n.d(t,"a",function(){return i}),n.d(t,"b",function(){return s}),n.d(t,"f",function(){return l});var a="docsite_language",o="LANGUAGE_SWITCH",r="__REDUX_DEVTOOLS_EXTENSION__",i="GET_STATE",s="GET_SUBSCRIBERS",l="REMOVE_SUBSCRIBERS"},function(e,t,n){"use strict";n(54),n(31),n(516)},function(e,t,n){"use strict";n(67),n(44),n(31),n(33),n(549)},function(e,t,n){"use strict";n(33),n(57),n(67),n(391)},function(e,t,n){"use strict";t.__esModule=!0;var a,o=n(600),r=(a=o)&&a.__esModule?a:{default:a};t.default=r.default,e.exports=t.default},function(e,t,n){"use strict";n(31);var a,o,r,i=n(19),s=n.n(i),l=n(14),u=n(15),c=n(16),d=n(17),p=n(22),f=n(18),h=n(0),m=n.n(h),g=n(46),y=n.n(g),_=(n(38),n(21)),v=n.n(_),b=n(72),M=(n(27),n(9)),w=n.n(M),k=n(1),S=(n(551),(0,w.a.config)((r=o=function(e){function n(e){var t;return Object(l.a)(this,n),(t=Object(c.a)(this,Object(d.a)(n).call(this,e)))._namespace=Object(k.b)("namespace")||"",t.state={nownamespace:window.nownamespace||t._namespace||"",namespaceList:window.namespaceList||[]},t}return Object(f.a)(n,e),Object(u.a)(n,[{key:"componentDidMount",value:function(){}},{key:"getLink",value:function(e,t){var n=this;null===window[t]?Object(k.c)({url:"com.alibaba.nacos.service.getLink",data:{linkKey:e},success:function(e){200===e.code&&(window[t]=e.data,n.setState(Object(b.a)({},t,e.data)))}}):this.setState(Object(b.a)({},t,window[t]))}},{key:"changeNameSpace",value:function(e,t){localStorage.setItem("namespace",e),this.setnamespace(e||""),Object(k.d)({namespace:e||"",namespaceShowName:t}),window.nownamespace=e,window.namespaceShowName=t,this.calleeParent(!0),this.props.setNowNameSpace&&this.props.setNowNameSpace(t,e)}},{key:"calleeParent",value:function(e){var t=0","Select");var n=u(e,t);return e.onInputUpdate&&(n.onSearch=e.onInputUpdate,n.showSearch=!0),n}}),t.default=a.default.config(o.default,{transform:u,exportNames:["focusInput","handleSearchClear"]}),e.exports=t.default},function(e,t,n){"use strict";n(388)},function(e,t,n){"use strict";n(33),n(501)},function(e,t,n){"use strict";t.__esModule=!0,t.default={momentLocale:"zh-cn",Timeline:{expand:"展开",fold:"收起"},Balloon:{close:"关闭"},Card:{expand:"展开",fold:"收起"},Calendar:{today:"今天",now:"此刻",ok:"确定",clear:"清除",month:"月",year:"年",prevYear:"上一年",nextYear:"下一年",prevMonth:"上个月",nextMonth:"下个月",prevDecade:"上十年",nextDecade:"后十年",yearSelectAriaLabel:"选择年份",monthSelectAriaLabel:"选择月份"},DatePicker:{placeholder:"请选择日期",datetimePlaceholder:"请选择日期和时间",monthPlaceholder:"请选择月",yearPlaceholder:"请选择年",now:"此刻",selectTime:"选择时间",selectDate:"选择日期",ok:"确定",clear:"清除",startPlaceholder:"起始日期",endPlaceholder:"结束日期",hour:"时",minute:"分",second:"秒"},Dialog:{close:"关闭",ok:"确认",cancel:"取消"},Message:{closeAriaLabel:"关闭"},Pagination:{prev:"上一页",next:"下一页",goTo:"到第",page:"页",go:"确定",total:"第{current}页,共{total}页",labelPrev:"上一页,当前第{current}页",labelNext:"下一页,当前第{current}页",inputAriaLabel:"请输入跳转到第几页",selectAriaLabel:"请选择每页显示几条",pageSize:"每页显示:"},Input:{clear:"清除"},Select:{selectPlaceholder:"请选择",autoCompletePlaceholder:"请输入",notFoundContent:"无选项",maxTagPlaceholder:"已选择 {selected}/{total} 项"},Table:{empty:"没有数据",ok:"确认",reset:"重置",asc:"升序",desc:"降序",expanded:"已展开",folded:"已折叠",filter:"筛选",selectAll:"全选"},TimePicker:{placeholder:"请选择时间",clear:"清除",hour:"时",minute:"分",second:"秒"},Transfer:{items:"项",item:"项",moveAll:"移动全部",searchPlaceholder:"请输入",moveToLeft:"撤销选中元素",moveToRight:"提交选中元素"},Upload:{card:{cancel:"取消",addPhoto:"上传图片",download:"下载",delete:"删除"},drag:{text:"点击或者拖动文件到虚线框内上传",hint:"支持 docx, xls, PDF, rar, zip, PNG, JPG 等类型的文件"},upload:{delete:"删除"}},Search:{buttonText:"搜索"},Tag:{delete:"删除"},Rating:{description:"评分选项"}},e.exports=t.default},function(e,t,n){"use strict";n.d(t,"c",function(){return a}),n.d(t,"d",function(){return o}),n.d(t,"e",function(){return r}),n.d(t,"a",function(){return i}),n.d(t,"b",function(){return s}),n.d(t,"f",function(){return l});var a="docsite_language",o="LANGUAGE_SWITCH",r="__REDUX_DEVTOOLS_EXTENSION__",i="GET_STATE",s="GET_SUBSCRIBERS",l="REMOVE_SUBSCRIBERS"},function(e,t,n){"use strict";n(54),n(31),n(516)},function(e,t,n){"use strict";n(67),n(44),n(31),n(33),n(549)},function(e,t,n){"use strict";n(33),n(57),n(67),n(391)},function(e,t,n){"use strict";t.__esModule=!0;var a,o=n(600),r=(a=o)&&a.__esModule?a:{default:a};t.default=r.default,e.exports=t.default},function(e,t,n){"use strict";n(31);var a,o,r,i=n(19),s=n.n(i),l=n(14),u=n(15),c=n(16),d=n(17),p=n(22),f=n(18),h=n(0),m=n.n(h),g=n(46),y=n.n(g),_=(n(38),n(21)),v=n.n(_),b=n(72),M=(n(28),n(9)),w=n.n(M),k=n(1),S=(n(551),(0,w.a.config)((r=o=function(e){function n(e){var t;return Object(l.a)(this,n),(t=Object(c.a)(this,Object(d.a)(n).call(this,e)))._namespace=Object(k.b)("namespace")||"",t.state={nownamespace:window.nownamespace||t._namespace||"",namespaceList:window.namespaceList||[]},t}return Object(f.a)(n,e),Object(u.a)(n,[{key:"componentDidMount",value:function(){}},{key:"getLink",value:function(e,t){var n=this;null===window[t]?Object(k.c)({url:"com.alibaba.nacos.service.getLink",data:{linkKey:e},success:function(e){200===e.code&&(window[t]=e.data,n.setState(Object(b.a)({},t,e.data)))}}):this.setState(Object(b.a)({},t,window[t]))}},{key:"changeNameSpace",value:function(e,t){localStorage.setItem("namespace",e),this.setnamespace(e||""),Object(k.d)({namespace:e||"",namespaceShowName:t}),window.nownamespace=e,window.namespaceShowName=t,this.calleeParent(!0),this.props.setNowNameSpace&&this.props.setNowNameSpace(t,e)}},{key:"calleeParent",value:function(e){var t=0>10|55296,1023&a|56320)}function o(){w()}var e,f,b,r,i,h,p,m,M,l,u,w,k,s,S,g,c,y,_,T="sizzle"+1*new Date,v=n.document,C=0,a=0,x=le(),E=le(),L=le(),D=le(),N=function(e,t){return e===t&&(u=!0),0},O={}.hasOwnProperty,t=[],Y=t.pop,P=t.push,j=t.push,I=t.slice,A=function(e,t){for(var n=0,a=e.length;n+~]|"+H+")"+H+"*"),q=new RegExp(H+"|>"),G=new RegExp(W),J=new RegExp("^"+F+"$"),$={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),TAG:new RegExp("^("+F+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+H+"*(even|odd|(([+-]|)(\\d*)n|)"+H+"*(?:([+-]|)"+H+"*(\\d+)|))"+H+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+H+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+H+"*((?:-\\d)?\\d*)"+H+"*\\)|)(?=[^-]|$)","i")},Q=/HTML$/i,X=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,ee=/^[^{]+\{\s*\[native \w/,te=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ne=/[+~]/,ae=new RegExp("\\\\([\\da-f]{1,6}"+H+"?|("+H+")|.)","ig"),oe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,re=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{j.apply(t=I.call(v.childNodes),v.childNodes),t[v.childNodes.length].nodeType}catch(e){j={apply:t.length?function(e,t){P.apply(e,I.call(t))}:function(e,t){for(var n=e.length,a=0;e[n++]=t[a++];);e.length=n-1}}}function se(t,e,n,a){var o,r,i,s,l,u,c,d=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!a&&((e?e.ownerDocument||e:v)!==k&&w(e),e=e||k,S)){if(11!==p&&(l=te.exec(t)))if(o=l[1]){if(9===p){if(!(i=e.getElementById(o)))return n;if(i.id===o)return n.push(i),n}else if(d&&(i=d.getElementById(o))&&_(e,i)&&i.id===o)return n.push(i),n}else{if(l[2])return j.apply(n,e.getElementsByTagName(t)),n;if((o=l[3])&&f.getElementsByClassName&&e.getElementsByClassName)return j.apply(n,e.getElementsByClassName(o)),n}if(f.qsa&&!D[t+" "]&&(!g||!g.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,d=e,1===p&&q.test(t)){for((s=e.getAttribute("id"))?s=s.replace(oe,re):e.setAttribute("id",s=T),r=(u=h(t)).length;r--;)u[r]="#"+s+" "+ve(u[r]);c=u.join(","),d=ne.test(t)&&ye(e.parentNode)||e}try{return j.apply(n,d.querySelectorAll(c)),n}catch(e){D(t,!0)}finally{s===T&&e.removeAttribute("id")}}}return m(t.replace(V,"$1"),e,n,a)}function le(){var a=[];return function e(t,n){return a.push(t+" ")>b.cacheLength&&delete e[a.shift()],e[t+" "]=n}}function ue(e){return e[T]=!0,e}function ce(e){var t=k.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),a=n.length;a--;)b.attrHandle[n[a]]=t}function pe(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(a)return a;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function me(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ie(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ge(i){return ue(function(r){return r=+r,ue(function(e,t){for(var n,a=i([],e.length,r),o=a.length;o--;)e[n=a[o]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in f=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Q.test(t||n&&n.nodeName||"HTML")},w=se.setDocument=function(e){var t,n,a=e?e.ownerDocument||e:v;return a!==k&&9===a.nodeType&&a.documentElement&&(s=(k=a).documentElement,S=!i(k),v!==k&&(n=k.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",o,!1):n.attachEvent&&n.attachEvent("onunload",o)),f.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),f.getElementsByTagName=ce(function(e){return e.appendChild(k.createComment("")),!e.getElementsByTagName("*").length}),f.getElementsByClassName=ee.test(k.getElementsByClassName),f.getById=ce(function(e){return s.appendChild(e).id=T,!k.getElementsByName||!k.getElementsByName(T).length}),f.getById?(b.filter.ID=function(e){var t=e.replace(ae,d);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(ae,d);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&S){var n,a,o,r=t.getElementById(e);if(r){if((n=r.getAttributeNode("id"))&&n.value===e)return[r];for(o=t.getElementsByName(e),a=0;r=o[a++];)if((n=r.getAttributeNode("id"))&&n.value===e)return[r]}return[]}}),b.find.TAG=f.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):f.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,a=[],o=0,r=t.getElementsByTagName(e);if("*"!==e)return r;for(;n=r[o++];)1===n.nodeType&&a.push(n);return a},b.find.CLASS=f.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&S)return t.getElementsByClassName(e)},c=[],g=[],(f.qsa=ee.test(k.querySelectorAll))&&(ce(function(e){s.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+H+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+H+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+T+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+T+"+*").length||g.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=k.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+H+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(f.matchesSelector=ee.test(y=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&ce(function(e){f.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),c.push("!=",W)}),g=g.length&&new RegExp(g.join("|")),c=c.length&&new RegExp(c.join("|")),t=ee.test(s.compareDocumentPosition),_=t||ee.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,a=t&&t.parentNode;return e===a||!(!a||1!==a.nodeType||!(n.contains?n.contains(a):e.compareDocumentPosition&&16&e.compareDocumentPosition(a)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return u=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e===k||e.ownerDocument===v&&_(v,e)?-1:t===k||t.ownerDocument===v&&_(v,t)?1:l?A(l,e)-A(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,a=0,o=e.parentNode,r=t.parentNode,i=[e],s=[t];if(!o||!r)return e===k?-1:t===k?1:o?-1:r?1:l?A(l,e)-A(l,t):0;if(o===r)return pe(e,t);for(n=e;n=n.parentNode;)i.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;i[a]===s[a];)a++;return a?pe(i[a],s[a]):i[a]===v?-1:s[a]===v?1:0}),k},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==k&&w(e),f.matchesSelector&&S&&!D[t+" "]&&(!c||!c.test(t))&&(!g||!g.test(t)))try{var n=y.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){D(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ae,d),e[3]=(e[3]||e[4]||e[5]||"").replace(ae,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&G.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ae,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=x[e+" "];return t||(t=new RegExp("(^|"+H+")"+e+"("+H+"|$)"))&&x(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,a,o){return function(e){var t=se.attr(e,n);return null==t?"!="===a:!a||(t+="","="===a?t===o:"!="===a?t!==o:"^="===a?o&&0===t.indexOf(o):"*="===a?o&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,n,a){return v(n)?T.grep(e,function(e,t){return!!n.call(e,t,e)!==a}):n.nodeType?T.grep(e,function(e){return e===n!==a}):"string"!=typeof n?T.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(T.fn.init=function(e,t,n){var a,o;if(!e)return this;if(n=n||D,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(T):T.makeArray(e,this);if(!(a="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:N.exec(e))||!a[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(a[1]){if(t=t instanceof T?t[0]:t,T.merge(this,T.parseHTML(a[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),E.test(a[1])&&T.isPlainObject(t))for(a in t)v(this[a])?this[a](t[a]):this.attr(a,t[a]);return this}return(o=S.getElementById(a[2]))&&(this[0]=o,this.length=1),this}).prototype=T.fn,D=T(S);var O=/^(?:parents|prev(?:Until|All))/,Y={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}T.fn.extend({has:function(e){var t=T(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,he={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function me(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&x(e,t)?T.merge([e],n):n}function ge(e,t){for(var n=0,a=e.length;nx",_.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var Me=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ke=/^([^.]*)(?:\.(.+)|)/;function Se(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function xe(e,t,n,a,o,r){var i,s;if("object"==typeof t){for(s in"string"!=typeof n&&(a=a||n,n=void 0),t)xe(e,s,n,a,t[s],r);return e}if(null==a&&null==o?(o=n,a=n=void 0):null==o&&("string"==typeof n?(o=a,a=void 0):(o=a,a=n,n=void 0)),!1===o)o=Te;else if(!o)return e;return 1===r&&(i=o,(o=function(e){return T().off(e),i.apply(this,arguments)}).guid=i.guid||(i.guid=T.guid++)),e.each(function(){T.event.add(this,t,o,a,n)})}function Ee(e,o,r){r?(J.set(e,o,!1),T.event.add(e,o,{namespace:!1,handler:function(e){var t,n,a=J.get(this,o);if(1&e.isTrigger&&this[o]){if(a.length)(T.event.special[o]||{}).delegateType&&e.stopPropagation();else if(a=s.call(arguments),J.set(this,o,a),t=r(this,o),this[o](),a!==(n=J.get(this,o))||t?J.set(this,o,!1):n={},a!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else a.length&&(J.set(this,o,{value:T.event.trigger(T.extend(a[0],T.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,o)&&T.event.add(e,o,Se)}T.event={global:{},add:function(t,e,n,a,o){var r,i,s,l,u,c,d,p,f,h,m,g=J.get(t);if(g)for(n.handler&&(n=(r=n).handler,o=r.selector),o&&T.find.matchesSelector(ae,o),n.guid||(n.guid=T.guid++),(l=g.events)||(l=g.events={}),(i=g.handle)||(i=g.handle=function(e){return void 0!==T&&T.event.triggered!==e.type?T.event.dispatch.apply(t,arguments):void 0}),u=(e=(e||"").match(j)||[""]).length;u--;)f=m=(s=ke.exec(e[u])||[])[1],h=(s[2]||"").split(".").sort(),f&&(d=T.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,d=T.event.special[f]||{},c=T.extend({type:f,origType:m,data:a,handler:n,guid:n.guid,selector:o,needsContext:o&&T.expr.match.needsContext.test(o),namespace:h.join(".")},r),(p=l[f])||((p=l[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(t,a,h,i)||t.addEventListener&&t.addEventListener(f,i)),d.add&&(d.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,c):p.push(c),T.event.global[f]=!0)},remove:function(e,t,n,a,o){var r,i,s,l,u,c,d,p,f,h,m,g=J.hasData(e)&&J.get(e);if(g&&(l=g.events)){for(u=(t=(t||"").match(j)||[""]).length;u--;)if(f=m=(s=ke.exec(t[u])||[])[1],h=(s[2]||"").split(".").sort(),f){for(d=T.event.special[f]||{},p=l[f=(a?d.delegateType:d.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=r=p.length;r--;)c=p[r],!o&&m!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||a&&a!==c.selector&&("**"!==a||!c.selector)||(p.splice(r,1),c.selector&&p.delegateCount--,d.remove&&d.remove.call(e,c));i&&!p.length&&(d.teardown&&!1!==d.teardown.call(e,h,g.handle)||T.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)T.event.remove(e,f+t[u],n,a,!0);T.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,a,o,r,i,s=T.event.fix(e),l=new Array(arguments.length),u=(J.get(this,"events")||{})[s.type]||[],c=T.event.special[s.type]||{};for(l[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,De=/